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

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

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.jb200.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中的域名