【问题标题】:javascript method to check a valid URL [duplicate]检查有效URL的javascript方法[重复]
【发布时间】:2014-02-02 02:48:48
【问题描述】:

我有任何 JavaScript 方式 (regex) 或模块 来检查字符串是否是遵循以下架构 http://en.wikipedia.org/wiki/URI_scheme 的 URL。

注意- 我在stackoverflow中看到了与此相关的其他问题,但没有一个是令人满意的。 它们中的大多数是匹配 http/https/ftp URL 的正则表达式,但是 feed 或 mailto URL 或 URL 与 http://en.wikipedia.org/wiki/URI_scheme 中指定的任何其他模式的 URL 匹配如何? p>

【问题讨论】:

    标签: javascript regex url uri


    【解决方案1】:

    以下正则表达式可以满足您的要求。

    它验证一个字符串是否包含 RFC 3986 中指定的 URL。

    支持绝对和相对 URL。

    ^([a-z][a-z0-9+\-.]*:(//([a-z0-9\-._~%!$&'()*+,;=]+@)?([a-z0-9\-._~%]+|\[[a-f0-9:.]+\]|\[v[a-f0-9][a-z0-9\-._~%!$&'()*+,;=:]+\])(:[0-9]+)?(/[a-z0-9\-._~%!$&'()*+,;=:@]+)*/?|(/?[a-z0-9\-._~%!$&'()*+,;=:@]+(/[a-z0-9\-._~%!$&'()*+,;=:@]+)*/?)?)| ([a-z0-9\-._~%!$&'()*+,;=@]+(/[a-z0-9\-._~%!$&'()*+,;=:@]+)*/?|(/[a-z0-9\-._~%!$&'()*+,;=:@]+)+/?))(\?[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?(\#[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?$
    

    这个正则表达式不是我想出来的,它是由 JGSoft 创建的

    【讨论】:

    • 你能写出函数 isURl() 吗?我在我的 javaScript 代码中使用了你的正则表达式,并得到了错误。
    猜你喜欢
    • 1970-01-01
    • 2014-08-17
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多