Reputation: 60859
What is the regex pattern to determine if a URL exists in a string?
I would like to check for:
and
Upvotes: 0
Views: 7715
Reputation: 12197
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
or www.domain.com
:
/(http:\/\/|www\.)\S+/i.test(yourString)
Checking for specific mydomain.com:
/http:\/\/(www\.)?mydomain\.com/i.test(yourString)
Upvotes: 3
Reputation: 69
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:
I hope it will help you.
Upvotes: 1
Reputation: 1216
http://[a-z].[a-z].?[a-z].?[a-z]
You can get it tested at http://www.regexplanet.com/
Upvotes: 0
Reputation: 2267
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
Upvotes: 0