开发者

How can I check if a string contains a URL in javascript?

What is the regex pattern to determine if a URL exists in a string?

I would like to check for:

http://mydom开发者_JS百科ain.com

and

http://www.mydomain.com


If's not quite clear whether you want to check for specific domain or just any domain.

  1. Checking for any domain in the form of http://domain.com or www.domain.com:

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

  2. Checking for specific mydomain.com:

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


You can try the following javascript code:

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
}

Indeed the real full regex for a URL is:

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

If you want, you can test 2 sites:

  1. a regex tester
  2. a javascript tester

I hope it will help you.


if you know the domain ahead of time, you can do


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

see more here: http://www.w3schools.com/jsref/jsref_IndexOf.asp

If you don't know the domain ahead of time, regular expressions are probably your best bet


http://[a-z].[a-z].?[a-z].?[a-z]

You can get it tested at http://www.regexplanet.com/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜