2016-10-05 3 views
0

Я хочу, чтобы проверить мой текущий URL, например:Проверьте URL содержит текст и скобки

http://www.dummy.com/subpageone/pagetwo.html?ineedthis[andthis]&butnotthis 

Я хочу alert, если я получил именно ineedthis[andthis]

До сих пор я получил

if (window.location.href.indexOf("ineedthis") > -1) { 
    alert("your url contains it"); 
} 

Однако этого недостаточно. Как проверить наличие [andthis]? Я пробовал его с некоторыми вариациями, но не везет вообще.

indexOf("ineedthis\[andthis\]") 
indexOf("ineedthis%5andthis%5D") 
if (/ineedthis\[andthis\]/.test(window.location.href)) 

Спасибо за любые предложения.

+0

'IndexOf ("ineedthis [andthis]")' отлично работает для меня - индекс возвращает 45, в примере URL вы дали. Кроме того, нет необходимости избегать квадратных скобок. – Utkanos

+0

Возможно, вы получаете кодированный url с 'window.location.href'. попробуйте сначала его декодировать, прежде чем сравнивать его. – vijayP

ответ

2

Просто используйте:

if(window.location.href.indexOf("ineedthis[andthis]") > -1) { 
    alert("your url contains it"); 
} 

Как searchValue для IndexOf является строка, а не регулярное выражение.

+0

Я такой же тупой, как кирпич ..... да, это сработало. Спасибо, парни. :) – TZP

0

также вы можете использовать регулярные выражения, чтобы сделать то же самое:

(function(){ 

var pattern = new RegExp(/ineedthis\[andthis\]/); 
alert(pattern.test('ineedthis[andthis]')); 

}()); 

 Смежные вопросы

  • Нет связанных вопросов^_^