Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use JavaScript to match a string inside the current URL of the window I am in?

I have used the excellent gskinner.com/RegExr/ tool to test my string matching regex but I cannot figure out how to implement this into my JavaScript file to return true or false.

The code I have is as follows:

^(http:)\/\/(.+\.)?(stackoverflow)\.

on a url such as http://stackoverflow.com/questions/ask this would match (according to RegExr) http://stackoverflow.

So this is great because I want to try matching the current window.location to that string, but the issue I am having is that this JavaScript script does not work:

var url = window.location;
if ( url.match( /^(http:)\/\/(.+\.)?(stackoverflow)\./ ) ) 
{
    alert('this works');
};

Any ideas on what I am doing wrong here?

Thanks for reading.

Jannis

like image 414
Jannis Avatar asked Mar 26 '10 10:03

Jannis


2 Answers

If you want to test domain name (host) window.location.host gives you what you need (with subdomain)

if( /^(.*\.)?stackoverflow\./.test(window.location.host) ){
    alert('this works');
}
like image 99
pawel Avatar answered Sep 22 '22 10:09

pawel


window.location is not a string; it's an object. Use window.location.href

like image 30
reko_t Avatar answered Sep 22 '22 10:09

reko_t