我有这个验证功能:
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;
}
我想检查这些模式的 url 验证:
* 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
它接受逗号!我试图从我的正则表达式中删除它,它仍然接受它!它出什么问题了 ?我为我的案例搜索了一个合适的正则表达式,但它们太大了,并没有给我想要的东西。有什么建议吗?提前致谢