【问题标题】:regular expressions how to validate a URL [duplicate]正则表达式如何验证 URL [重复]
【发布时间】:2011-11-24 15:25:40
【问题描述】:

可能重复:
Regex to match URL

我编写了一个正则表达式来仅验证以下 URL 模式

  1. http://www.abc.com
  2. www.abc.com
  3. abc.com
  4. http.www.abc.com

谁能给我一个正则表达式?

我用的正则表达式有一些错误,有人可以解决它吗?

/^((http|http|HTTP|HTTP):\/\/+(www|WWW\.)?[A-Za-z0-9\-\.]{1,}\.[A-Za-z])|((www|WWW\.)?[A-    Za-z0-9\-\.]{1,}\.[A-Za-z])/i.test(value);

【问题讨论】:

  • 当你尝试时会发生什么?
  • 它与您提到的 1,2,3,4 匹配(尽管我没有在 javascript 中测试)。我想有一个错误,因为 4 不应该匹配。但是您似乎希望它与 4 匹配。也许您发现它与其中之一不匹配,然后显示错误。

标签: javascript regex


【解决方案1】:

试试这个表达式:

^(http(?:s)?\:\/\/[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*\.[a-zA-Z]{2,6}(?:\/?|(?:\/[\w\-]+)*)(?:\/?|\/\w+\.[a-zA-Z]{2,4}(?:\?[\w]+\=[\w\-]+)?)?(?:\&[\w]+\=[\w\-]+)*)$

【讨论】:

    【解决方案2】:

    试试这个:

    $url = "http://something.com/"; if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0- 9_-]*)+):?(d+)?/?/i', $url)) { echo "你的网址没问题。"; } 别的 { echo "错误的网址。"; }

    【讨论】:

    • 我正在寻找 javascript 正则表达式。如果我们输入 abcd.abcd 它将失败
    猜你喜欢
    • 2013-05-02
    • 2011-05-11
    • 1970-01-01
    • 2011-05-16
    • 2011-09-21
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多