php匹配网址的正则 几乎可以匹配任何网址
PHP中的匹配正则:轻松匹配各类
在网络开发中,经常需要验证和处理。在PHP中,使用正则表达式进行匹配是一项常见任务。这里有一个几乎可以匹配任何的正则表达式,需要的朋友不妨参考一下。
简单的版本如下:
```php
$str = '';
$isMatched = preg_match('/^^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/', $str, $matches);
var_dump($isMatched, $matches);
```
这个正则表达式相当基础,能够匹配大多数简单的。
如果你需要更精确的匹配,可以尝试使用这个更为复杂的正则表达式:
```css
^((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_])?$`
```
这个正则表达式更为详尽,能够匹配更多的结构和协议。
下面是一个实例,使用JavaScript编写的函数来检测一个字符串是否为:
```javascript
function IsURL(urlString) {
var 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 "是";
else
return "不是";
}
var url = "";
alert(IsURL(url));
```
这个函数使用上述正则表达式来检测输入的字符串是否为,并通过alert提示结果。你可以将url变量替换为任何你想检测的字符串。
希望这个正则表达式能帮助到你。如果你还有其他问题或需要进一步的解释,请随时提问。
编程语言
- php匹配网址的正则 几乎可以匹配任何网址
- 对vue里函数的调用顺序介绍
- JS模仿编辑器实时改变文本框宽度和高度大小的方
- js实现不提示直接关闭网页窗口
- JS返回顶部实例代码
- 详解struts2的token机制和cookie来防止表单重复提交
- 解决node-webkit 不支持html5播放mp4视频的方法
- 基于ES6 Array.of的用法(实例讲解)
- 如何使用Strace调试工具
- asp.net遍历文件夹下所有子文件夹并绑定到gridvi
- jQuery切换所有复选框选中状态的方法
- js窗口关闭提示信息(兼容IE和firefox)
- React中jquery引用的实现方法
- 解决FastCGI 进程超过了配置的活动超时时限的问题
- php实现可以设置中奖概率的抽奖程序代码分享
- CodeIgniter中实现泛域名解析