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

网络编程 2021-07-05 10:07www.168986.cn编程入门
php匹配网址的正则 几乎可以匹配任何网址,需要的朋友可以参考下

比较简单的

$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|||coop|edu|gov|info|int|jobs|mil|museum|name|nato|||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|||coop|edu|gov|info|int|jobs|mil|museum|name|nato|||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> 

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by