【问题标题】:Regular expression for URL validation in javascript [duplicate]javascript中URL验证的正则表达式[重复]
【发布时间】:2011-09-21 00:20:52
【问题描述】:

我的表单将 url 作为输入..我想使用 javascript 和正则表达式对其进行验证..

它应该接受

  • www.google.com
  • google.com
  • http://google.com

如果可能的话,请建议我一个正则表达式和总代码来验证 url... 我尝试了许多论坛上给出的lotta url..但无法得到适当的答案.. 提前致谢

【问题讨论】:

标签: javascript regex


【解决方案1】:

试试这个,

^(http\://)?[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$

这将支持

【讨论】:

  • 上面的代码会在很多边缘案例的测试中失败。检测 URL 时,最好依赖专门的库。 Here's why.
【解决方案2】:

您可以使用 jQuery 轻松测试它:

http://docs.jquery.com/Plugins/Validation/Methods/url.

【讨论】:

    【解决方案3】:

    试一下

    url_reg = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
    

    【讨论】:

    • "dis" 上面的代码会在很多边缘案例的测试中失败。检测 URL 时,最好依赖专门的库。 Here's why.
    【解决方案4】:

    这个没问题,(http|https|)(://|)([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

    在这里试试。工作正常 - http://www.regular-expressions.info/javascriptexample.html

    【讨论】:

    • 上面的代码会在很多边缘案例的测试中失败。检测 URL 时,最好依赖专门的库。 Here's why.