可能重复:
What is the best regular expression to check if a string is a valid URL?
我有这个验证功能:
function validate_url(url)
{
var pattern1= new RegExp(/^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/);
var pattern2= new RegExp(/^[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*[.][A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*([.][A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*)*$/);
if (pattern1.test(url) || pattern2.test(url))
return true;
else
return false;
}
我想检查这些模式的网址验证:
* www.example.com
* http://www.example.com
* http://example.com
* http://example.example.com
* https://www.example.com
* https://example.com
* https://example.example.com
* example.example.com
* example.com
“。com”是可选的。
实际上,它一直有效,直到我测试这个网址:
www,google.com
它接受逗号!! 我试图从正则表达式中删除它,它仍然接受它! 它出什么问题了 ? 我为我的案子搜索了一个合适的正则表达式,但它们非常巨大而且没有给我我想要的东西。 有什么建议吗? 提前致谢