Я пытаюсь сопоставить местоположение страницы, используя регулярные выражения в JavaScript. По сути, я хочу проверить, является ли строка /dashboard
+ любым символом, например, /dashboard
, /dashboard/activity/
, /dashboard/myaccount
...
Я пытался сделать это с помощью .*
: /dashboard${/.*/}
, но не повезло.
Как я должен это делать?
заранее спасибо
Я пробовал location.pathname !== /^dashboard/
но не работает
Вы имели в виду /^dashboard/.test(location.pathname)
?
/^dashboard/.test(location.pathname)
это не сработало. Он также принимает только /
Нет, это не так. Кроме того, опубликуйте минимальный воспроизводимый пример.
Это просто if
. if (isAuthenticated() && location.pathname doesn't begin with /dashboard
затем выполните if
Давайте продолжить обсуждение в чате.
const regex = //dashboard(/\w+)*/;
const test = "/dashboard/hello".match(regex)
const testA = "/dashboard/hello/world".match(regex)
const testB = "/dashboard".match(regex)
const testC = "/hello/world".match(regex)
console.info(test);
console.info(testA);
console.info(testB);
console.info(testC);
!location.pathname.match(//dashboard(/\w+)*/g
сработало очень хорошо. Спасибо!
/g для глобального, вы можете удалить его
Да, я удалил это. Спасибо!
Вы просто пытаетесь увидеть, начинается ли целевая строка с
/dashboard
? Если это так, регулярное выражение просто/^dashboard/
.