比较简单的
1
2
3
|
$str = '' ;
$isMatched = preg_match( '/^^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/' , $str , $matches );
var_dump( $isMatched , $matches );
|
几乎可以匹配任何网址:
1
|
^((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_]*)?$
|
实例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<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>
|