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

所属分类: 网络编程 / 正则表达式 阅读数: 240
收藏 0 赞 0 分享

比较简单的

$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> 

更多精彩内容其他人还在看

能说明一下GETROWS的用法吗?

能说明一下GETROWS的用法吗?
收藏 0 赞 0 分享

用正则表达式过滤html代码

用正则表达式过滤html代码
收藏 0 赞 0 分享

ubb js

ubb js
收藏 0 赞 0 分享

正则表达式在javascript中的几个实例

正则表达式在javascript中的几个实例
收藏 0 赞 0 分享

简单的Html转换UBB的程序

简单的Html转换UBB的程序
收藏 0 赞 0 分享

求个简单正则

求个简单正则
收藏 0 赞 0 分享

JScript中正则表达式用法详解

JScript中正则表达式用法详解
收藏 0 赞 0 分享

取图片路径的正则

取图片路径的正则
收藏 0 赞 0 分享

文本框输入限制 [大全]

文本框输入限制 [大全]
收藏 0 赞 0 分享

UBB代码在论坛中的应用

UBB代码在论坛中的应用
收藏 0 赞 0 分享
查看更多