使用正则表达式验证jquery的url

Amo*_*han 0 regex validation url jquery

我想验证URL字段,如下所示 -

  1. http://www.example.com
  2. http://example.com
  3. www.example.com

前两个是使用以下正则表达式验证 -

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);
}
Run Code Online (Sandbox Code Playgroud)

但是,当我将方案3放在文本框中时,它显示我无效的URL.

任何帮助将受到高度赞赏.

提前致谢

阿莫德

小智 16

这是您的用例的正确正则表达式:

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);
}
Run Code Online (Sandbox Code Playgroud)

如果"http://"是可选的,则必须将其放在括号中并添加问号.


小智 5

试试这个,它为我工作。

var url = $("#<%= txtUrl.ClientID %>").val();
var pattern = /^(http|https)?:\/\/[a-zA-Z0-9-\.]+\.[a-z]{2,4}/;

args.IsValid = pattern.test(url);
Run Code Online (Sandbox Code Playgroud)

http://www.tricksofit.com/2013/12/regular-expression-with-jquery-validation#highlighter_290011