【问题标题】:validate url without www. or http://验证没有 www 的 url。或 http://
【发布时间】:2011-01-14 12:33:31
【问题描述】:

我正在寻找验证 URL。我已经有一个脚本验证不允许 www.http:// 但我还需要验证 .co.uk .com 等。

如果他们输入example.co.ukff 之类的内容,我的脚本将不会运行。

我有一个完整的网址:

^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i

我只需要验证结尾.co.uk.com 等。

【问题讨论】:

    标签: jquery regex validation url preg-match


    【解决方案1】:

    试试这个...

    /^http:\/\/|(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/

    它完全按照您的要求工作。

    不管有没有http://, https://,www

    【讨论】:

    【解决方案2】:

    远非将其视为匹配 url 的理想正则表达式,仅匹配 notwww 开头的 url 的特殊问题可以通过 negative lookahead(?!www\.) 意思是下面的文字不应该是www.

    因此,您的正则表达式适应了这种负面的前瞻性:

    ^(?!www\.)[A-Za-z0-9_-]+\.+[A-Za-z0-9.\/%&=\?_:;-]+$

    匹配以下网址

    google.com
    google.com/
    goggle.com/q
    google.com/q?q=1&h=en
    google.co.uk
    google.co.uk/
    goggle.co.uk/q
    google.co.uk/q?q=1&h=en
    w.google.com
    w.google.com/
    w.goggle.com/q
    w.google.com/q?q=1&h=en
    209.85.149.105
    209.85.149.105/
    209.85.149.105/q
    209.85.149.105/q?q=1&h=en
    209.85.149.105:80
    209.85.149.105:80/
    209.85.149.105:80/q
    209.85.149.105:80/q?q=1&h=en
    example.domain.bogus.number.of.subdomains/index.htm
    

    但不是那些:

    www.google.com
    www.google.com/
    www.google.co.uk
    www.google.co.uk/
    www.google.co.uk/q
    www.google.co.uk/q?q=1&h=en
    http://209.85.149.105/
    http://209.85.149.105:80/
    http://www.google.com
    https://www.google.com
    http://google.com
    https://google.com
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      • 1970-01-01
      相关资源
      最近更新 更多