ShadowOfCasper
@ShadowOfCasper
Middle User Interface Web Developer

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

Дано: get-запросный фильтр
Ссылки с get запросами.
Надо: Найти ссылку, в которой href содержит нынешний get параметр, сделать её пункт активным.
Следовательно
if(addServicesList !== undefined){
        addServicesList.children('li').each(function(){
            var thisli = $(this);
            var thisFilter = window.location.search;
            var thislink = thisli.children('a');
            var thislinkAttr = thislink.attr('href');
            if(thislinkAttr.match(new RegExp(/^.*''+ thisFilter + ''$/))){
                console.log(thislinkAttr, thisFilter);
                thislink.parent().addClass('active');
            }
        });
    }

Всё ок, вот только переменную в регулярное выражение не могу поместить. Браузер парсит неправильно. Уже кучу вариантов синтаксиса перепробовал и никакой не катит. Условие всегда не выполняется. Где я накосячил? Как правильно в RegExp записать выражение с переменной?
  • Вопрос задан
  • 470 просмотров
Решения вопроса 1
romy4
@romy4
Exception handler
синтаксис new RegExp(/^.*''+ thisFilter + ''$/)) неверный
регулярка создаётся либо /^.*....'$/, либо new RegExp("регулярка"))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы