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.
Checking for any domain in the form of
http://domain.com
orwww.domain.com
:/(http:\/\/|www\.)\S+/i.test(yourString)
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:
- a regex tester
- 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/
精彩评论