【问题标题】:url validation jquery using regex使用正则表达式的 url 验证 jquery
【发布时间】:2014-09-14 12:04:29
【问题描述】:

我想验证如下所示的 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);
}

但是,当我将场景 3 放入文本框中时,它会显示无效的 URL。

我们将不胜感激。

提前致谢

阿莫德

【问题讨论】:

标签: jquery regex validation url


【解决方案1】:

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

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://”是可选的,则必须将其放在括号中并添加一个问号。

【讨论】:

  • 非常感谢。非常感谢您的帮助:)
【解决方案2】:

试试这个,它对我有用。

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

【讨论】:

  • 如果用户不输入 www 也没关系。意味着如果用户键入“https://yahoo.i”(显示错误)就可以了。但是如果用户键入它像 "https://www.yahoo.i" ,这将不会显示任何错误并验证。
【解决方案3】:

我们需要验证 n 个用于 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);
}

或者

如果您想处理所有 URL 验证方案,请refer In search of the perfect URL validation regex

【讨论】:

    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 2012-01-24
    • 2021-02-24
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多