Ок, спасибо
|
Цитата:
|
Есть массив
var arr = [ "news", "posts/*", "articles/statiy" ] Это разрешённые маски адресов страниц над которыми можно выполнять определённые действия. Я получаю адрес страницы. Например он var adr = 'posts/index.html' Перебираю arr и сравниваю c помощью регулярки for(key in arr){ var rex = '' // вот тут нужна регулярка. И что бы в том числе 'posts/index.html' попадал в маску "posts/*" if(adr.match(rex)){...} } |
Решил на стороне сервера.
|
ureech,
const escapeRegExp = str => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); const createRegExp = str => { str = str.split('*'); str = str.map(e => escapeRegExp(e)); str = str.join('[-a-z.0-9_]+'); return new RegExp('^' + str + '$') }; let arr = ["news", "posts/*", "articles/statiy"]; arr = arr.map(createRegExp); let adr = 'posts/index.html'; let test = arr.some(reg => reg.test(adr)) alert([adr, test]); adr = 'posts/проверка.html'; test = arr.some(reg => reg.test(adr)); alert([adr, test]) |
Часовой пояс GMT +3, время: 00:07. |