【问题标题】:Regular expression for some url name [closed]一些网址名称的正则表达式[关闭]
【发布时间】:2013-01-05 05:24:12
【问题描述】:

我需要一个 javascript 中的正则表达式来匹配某些指定的 url(例如 facebook.com),如下所示:

http://www.facebook.com ; https://www.facebook.com ; www.facebook.com

但不是

www.something.com/test/redirect?=www.facebook.com

有什么想法吗?

非常感谢

【问题讨论】:

    标签: javascript regex url


    【解决方案1】:

    具体是你要求的:

    ^(http(s)?://)?www.facebook.com
    

    这将匹配相同,添加http://facebook.comhttps://facebook.com

    ^((http(s)?://(www.)?)|www.)facebook.com
    

    【讨论】:

    • 您不需要在正则表达式中转义正斜杠,只需转义反斜杠
    • @Patashu:这取决于您如何指定正则表达式。如果它是正则表达式文字(最有可能用于 javascript) - 那么您必须这样做。所以你并不完全正确
    【解决方案2】:

    如果以下任何正则表达式匹配,则满足规则:

    ^http://www\.facebook\.com.*

    ^https://www\.facebook\.com.*

    ^www\.facebook\.com$

    ^www\.facebook\.com/.*

    ^ 匹配字符串的开头,$ 匹配结尾。所以你可以使用它来强制匹配到字符串中的某个点。

    【讨论】:

    • 哈哈,那为什么不用indexOf呢?
    • 如果你使用indexOf,它只会告诉你字符串的位置。就我而言,当我使用 www.facebook.com 作为 www.something.com/test/redirect?=www.facebook.com 的 indexOf 参数时,它将返回一些> -1的数字。但是 www.something.com/test/redirect?=www.facebook.com 不是我想要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 2014-12-18
    • 2016-06-15
    • 1970-01-01
    相关资源
    最近更新 更多