zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

PHP 可以 匹配 正则 任何 网址 几乎
2023-06-13 09:14:52 时间

比较简单的

$str="";
$isMatched=preg_match("/^^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/",$str,$matches);
var_dump($isMatched,$matches);

几乎可以匹配任何网址:

^((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_]*)?$

实例:

<scripttype="text/javascript">
functionIsURL(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"isaurl";
else
return"notaurl";
}
url="";
alert(IsURL(url));
</script>