我想验证URL字段,如下所示 -
前两个是使用以下正则表达式进行验证 -
function is_valid_url(url) {
return /^http(s)?:\/\/(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test(url);
}
但是,当我将方案3放在文本框中时,它显示我无效的URL。
任何帮助都将受到高度赞赏。
先谢谢
阿莫德
答案 0 :(得分:14)
这是您的用例的正确正则表达式:
function is_valid_url(url) {
return /^(http(s)?:\/\/)?(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test(url);
}
如果" http://"是可选的,您必须将其放在括号中并添加问号。
答案 1 :(得分:4)
试试这个,它对我有用。
var url = $("#<%= txtUrl.ClientID %>").val();
var pattern = /^(http|https)?:\/\/[a-zA-Z0-9-\.]+\.[a-z]{2,4}/;
args.IsValid = pattern.test(url);
http://www.tricksofit.com/2013/12/regular-expression-with-jquery-validation#highlighter_290011
答案 2 :(得分:1)
我们需要验证n个场景以进行URL验证。如果你对你的给定模式有所了解,那么从其他答案的regex表达式看起来很好。 那就是:
function is_valid_url(url)
{
return /^(http(s)?:\/\/)?(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test(url);
}
或者
如果您想要处理所有网址验证方案,请refer In search of the perfect URL validation regex