Как я могу использовать JavaScript для сопоставления строки внутри текущего URL окна, в котором я нахожусь? - PullRequest
6 голосов
/ 26 марта 2010

Я использовал отличный инструмент gskinner.com/RegExr/ для проверки моего регулярного выражения, соответствующего строке, но я не могу понять, как внедрить это в мой файл JavaScript, чтобы вернуть true или false.

Код, который я имею, выглядит следующим образом:

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

на URL, таком как http://stackoverflow.com/questions/ask, это будет соответствовать (согласно RegExr) http://stackoverflow.

Так что это здорово, потому что я хочу попробовать сопоставить текущий window.location с этой строкой, но проблема, с которой я сталкиваюсь, состоит в том, что этот скрипт JavaScript не работает:

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

Есть идеи, что я здесь делаю не так?

Спасибо за чтение.

Jannis

Ответы [ 2 ]

3 голосов
/ 26 марта 2010

Если вы хотите проверить доменное имя (хост) window.location.host дает вам то, что вам нужно (с поддоменом)

if( /^(.*\.)?stackoverflow\./.test(window.location.host) ){
    alert('this works');
}
3 голосов
/ 26 марта 2010

window.location не является строкой; это объект. Используйте window.location.href

...