用于URL验证的Javascript正则表达式

时间:2015-02-13 04:22:46

标签: javascript regex validation

我希望正则表达式使用以下条件验证URL

  1. 应以http或https
  2. 开头
  3. 它应以有效域结尾。 例如:.com或.in但之后。可以有任何字符串。特别是,检查.是否存在,.后面是否有字符串。
  4. 有效网址:http://www.cnn.com

    无效的网址:

    htt://www.yahoo.com
    http://www.yahoo.
    http://www.yahoo
    

    我已将正则表达式编成如下。

    /^(http|https):\/\/[-a-zA-Z0-9+&@#/%?=~_|!:,;]+([\-\.]{1}[-a-zA-Z0-9+&@#/%?=~_|]+)*\.[a-zA-Z]{2,5}(:[0-9]{1,5})?(\/.*)?$/
    

    大多数情况都很好。

    但如果我输入http://www.yahoo未正确验证,但如果我输入http://www.google则会抛出验证错误。

    有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

您可以使用以下reg exp来匹配网址

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

在此处查看

https://www.regex101.com/r/jU7iT2/1