如何检查字符串是否包含javascript中的URL?

时间:2011-02-21 17:20:09

标签: javascript regex string

确定字符串中是否存在URL的正则表达式模式是什么?

我想查看:

http://mydomain.com

http://www.mydomain.com

4 个答案:

答案 0 :(得分:3)

如果不清楚您是要检查特定域还是仅检查任何域。

  1. 检查http://domain.comwww.domain.com形式的任何域名:

    /(http:\/\/|www\.)\S+/i.test(yourString)

  2. 检查具体的mydomain.com:

    /http:\/\/(www\.)?mydomain\.com/i.test(yourString)

答案 1 :(得分:1)

您可以尝试以下javascript代码:

if(new RegExp("[a-zA-Z0-9]+://([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\.[A-Za-z]{2,4})(:[0-9]+)?(/.*)?").test(myUrl)) {
  // TODO
}

确实,URL的真正完整正则表达式是:

[a-zA-Z\d]+://(\w+:\w+@)?([a-zA-Z\d.-]+\.[A-Za-z]{2,4})(:\d+)?(/.*)?

如果需要,您可以测试2个站点:

  1. a regex tester
  2. a javascript tester
  3. 我希望它会对你有所帮助。

答案 2 :(得分:0)

如果您提前知道域名,则可以


if(myString.indexOf("http://mydomain.com") != -1)
{
//substring found, do stuff
}

在此处查看更多内容:http://www.w3schools.com/jsref/jsref_IndexOf.asp

如果您不提前知道域名,正则表达式可能是您最好的选择

答案 3 :(得分:0)

HTTP:。?。?// [A-Z] [A-Z] [A-Z] [A-Z]

您可以在http://www.regexplanet.com/

进行测试