Это проверяет, "если мы идем movies.php
страница":
if (location.href.match(/movies.php/)) {
// something happens
}
как добавить для этого (как or
) "если мы идем music.php
страница"?
Я полагаю, вы имеете в виду, что хотите узнать, находитесь ли вы на movies.php
или на music.php
? Значит, вы хотите сделать то же самое, если вы в любом из них?
if (location.href.match(/movies\.php/) || location.href.match(/music\.php/)) {
// something happens
}
Или, если вы хотите сделать что-то другое, вы можете использовать else if
if (location.href.match(/movies\.php/)) {
// something happens
}
else if(location.href.match(/music\.php/)) {
// something else happens
}
Кроме того, вместо использования match
вы можете использовать test
:
if (/movies\.php/.test(location.href) || /music\.php/.test(location.href)) {
// something happens
}
Основываясь на ответе Пола, вы можете уточнить регулярные выражения в операторе if
, который проверяет, находитесь ли вы на любой странице, до одного регулярного выражения :
/(music|movies)\.php/
Следующее улучшает предыдущие ответы несколькими способами ...
if (/(movies|music)\.php$/.test(location.pathname)) {
var pageName = RegExp.$1; // Will be either 'music' or 'movies'
}
Как насчет ..
if (/(movies\.php|music\.php)/.test(location.href)) {
// Do something
}
Или даже лучше ...
if (/(movies|music)\.php/).test(location.href)) {
// Do something
}
Обратите внимание на \., Это буквально соответствует "одной точке", где, как в регулярном выражении. соответствует любому символу, поэтому они верны, но, вероятно, не то, что вы хотите ...
if (/movies.php/.test('movies_php')) alert(0);
if (/movies.php/.test('movies/php')) alert(0);