【发布时间】:2012-03-21 04:07:09
【问题描述】:
为什么下面的 url 验证给我错误。如果我输入 url = www.google.ca,它会给我一个错误的 url。
function validateURL($url){
$regex = "((https?|ftp)://)?";
$regex .= "([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)?";
$regex .= "([a-z0-9-.]*).([a-z]{2,3})";
$regex .= "(:[0-9]{2,5})?";
$regex .= "(/([a-z0-9+$_-].?)+)*/?";
$regex .= "(?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)?";
$regex .= "(#[a-z_.-][a-z0-9+$_.-]*)?";
if(preg_match('/^$regex$/', $url))
{
echo $url." =".'<font color="blue">Valid URL</font>';
}
else {
echo $url." =".'<font color="red">Invalid URL</font>';
}
}
$url = 'www.google.ca';
validateURL($url);
【问题讨论】:
标签: php validation url preg-match