首页 > 编程 > regex > 正文

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

2020-01-20 22:13:41
字体:
来源:转载
供稿:网友

比较简单的

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

实例:

<script type="text/javascript"> 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> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表