前言:
有好多小伙伴在爬虫的时候,或者其他情况下无法精确判断一个字符串是不是一个标准URL链接地址从而很费脑,下面我么看一下怎么判断URL的合法性。

以下代码均为PHP语言代码,但语言都是相通的。

第一种:正则表达式

1
2
3
4
5
6
7
8
9
<?php
function or_url($url){
$preg = "/http[s]?:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is";
if(preg_match($preg,$url)){
echo '正确的 url 地址';
}else{
echo '不是合法的 url 地址';
}
}

第二种:使用内置函数 filter_var () 推荐

1
2
3
4
5
6
7
8
<?php
function or_url($url){
if (filter_var($url, FILTER_VALIDATE_URL) !== false) {
echo 'url 地址正确';
}else{
echo 'url 地址不正确';
}
}