【问题标题】:URL Regex Improvement to allow localhost URLURL 正则表达式改进以允许本地主机 URL
【发布时间】:2018-06-15 02:14:21
【问题描述】:

我有一个如下的 URL 验证器

(^|\s)((https?:\/\/)?[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?)

这似乎涵盖了大多数基础,但它不能,那就是允许 localhost url

我要允许

http://localhost:8080

localhost:8080

但我不想允许像这样的简单字符串

http://google

google

【问题讨论】:

    标签: javascript regex url


    【解决方案1】:

    您可以使用此正则表达式来允许 localhost 作为有效的主机名:

    (?:^|\s)((https?:\/\/)?(?:localhost|[\w-]+(?:\.[\w-]+)+)(:\d+)?(\/\S*)?)
    

    RegEx Demo

    【讨论】:

    • 是的,问题是它现在允许任何单个字符串,即“google”,但我想我只希望它是可选的,如果第一个字符串是带有端口的 localhost,即 localhost:8080
    猜你喜欢
    • 2014-09-28
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    相关资源
    最近更新 更多