教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php匹配任何网址的正则表达式

php匹配任何网址的正则表达式

发布时间:2016-02-24   编辑:jiaochengji.com
本篇文章介绍一个几乎可以匹配任何网址的正则表达式,有需要的朋友,可以参考下这个复杂到神级的正则吧。

php匹配网址的正则,几乎可以匹配任何网址:
 

^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。
])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9]
[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$

够牛吧,不知道性能如何呢?!

来看一个例子吧。
 

复制代码 代码示例:
<script type="text/javascript">
/**
*匹配任何网址的正则表达式
*www.jbxue.com at 20130509
*/
function IsURL(urlString)
{
regExp = /^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。
])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9]
[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$/
if (urlString.match(regExp))
return "is a url";
else
return "not a url";
}
url = "";
alert(IsURL(url));
</script>

有兴趣的朋友,可以找个软件,测试下这段代码的性能。
再好的正则,如何性能太差,也是不建议使用的哦。

您可能感兴趣的文章:
php匹配图片地址的代码一例
PHP正则匹配日期和时间(时间戳转换)的例子
php正则匹配重写html图片img路径的代码一例
PHP正则匹配获取URL中域名的代码
使用 preg_replace 函数 匹配图片并加上链接的方法
php用preg_match_all匹配文章中的图片
php正则表达式匹配URL中的域名

您可能感兴趣的文章:
php匹配图片地址的代码一例
php匹配任何网址的正则表达式
正则表达式在网络编程中的运用
PHP正则匹配日期和时间(时间戳转换)的例子
常用正则表达式全集
一些常用的正则表达式
php正则表达式匹配中文的二个例子
php中常用的正则表达式使用方法
常用正则表达式实例
php常用正则表达式汇总

[关闭]
~ ~