У меня есть такой код:

if(/^\/[^/]+\/[^/]+\/collections/.test(location.pathname)) { alert("ok")};

Этот матч с:

http://localhost:3000/es/hyperrjas/collections

Проблема в том, что они также совпадают с:

http://localhost:3000/es/hyperrjas/collections/thing1
http://localhost:3000/es/hyperrjas/collections/thing2
http://localhost:3000/es/hyperrjas/collections/thing3
.
.
.

Мне нужно только сопоставить URL-адрес первого типа:

http://localhost:3000/es/hyperrjas/collections
http://localhost:3000/es/michael-25/collections
http://localhost:3000/es/other_username/collections

Я не хочу, чтобы URL-адреса совпадали с thing1, thing2, thing3… и т. д.

Как я могу исправить этот javascript с регулярным выражением?

0
hyperrjas 9 Янв 2013 в 00:37

1 ответ

Лучший ответ

Добавьте разделитель $ в конец регулярного выражения


Ваше новое выражение будет выглядеть так:

/^\/[^/]+\/[^/]+\/collections$/
2
Naftali 9 Янв 2013 в 00:39
Спасибо, что можете написать, как работает это регулярное выражение, if(/^\/[^/]+\/[^/]+\/collections/.test(location.pathname)) { alert("ok")};
 – 
hyperrjas
9 Янв 2013 в 00:41