我在本网站和其他网站上发现了很多网址验证方法。但我找不到我的项目所需的确切一个。这就是我需要的。
<form name="example" value="">
<input type='text' name='link' />
<input type="submit" name="submit" id="submit" value="" />
</form>
现在,如果有人在文本字段中键入了一个链接,那么我必须检查该链接是否有效。 有效链接将是
1. http://www.example.com
2. www.example.com
3. example.com
4. (some space) then one of the three links above
5. one of the three links above then some space
这些是有效的格式。在文本字段中输入任何其他内容应该给出输出无效链接
我在javascript和PHP中都需要解决方案。
答案 0 :(得分:1)
这将处理你在php端的所有案例
$regex = "((https?|ftp)\:\/\/)?"; // SCHEME
$regex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?"; // User and Pass
$regex .= "([a-z0-9-.]*)\.([a-z]{2,3})"; // Host or IP
$regex .= "(\:[0-9]{2,5})?"; // Port
$regex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?"; // Path
$regex .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?"; // GET Query
$regex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?"; // Anchor
// $url = 'http://www.domain.dk/seo/friendly/url';
if(preg_match("/^$regex$/", trim($url)))
{
print 'true';
}
答案 1 :(得分:-1)
你可以通过以下帖子找到这个javascript url验证答案
http://stackoverflow.com/questions/1303872/url-validation-using-javascript
对于php验证,请在代码
下面找到function isValidURL($url)
{
return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}
if(!isValidURL($fldbanner_url))
{
$errMsg .= "* Please enter valid URL including http://<br>";
}