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

Oralie ·
更新时间:2024-09-20
· 626 次阅读

比较简单的

$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> 您可能感兴趣的文章:php与javascript正则匹配中文的方法分析php正则匹配文章中的远程图片地址并下载图片至本地正确的PHP匹配UTF-8中文的正则表达式php用正则表达式匹配中文实例详解php正则表达匹配中文问题分析小结正则匹配密码只能是数字和字母组合字符串功能【php与js实现】PHP匹配连续的数字或字母的正则表达式php用正则表达式匹配URL的简单方法php正则表达式中的非贪婪模式匹配关于php正则匹配汉字的方法介绍PHP正则匹配图片并给图片加链接详解PHP正则匹配中英文、数字及下划线的方法【用户名验证】



正则 PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号