开发者

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

开发者 https://www.devze.com 2023-02-12 04:33 出处:网络
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

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

精彩评论

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