Здравствуйте.
Столкнулся со странным поведением функции test.
В общем такой код
var q = new RegExp('вы', 'ig');
var tester ='Выбрать дни';
//var tester ='Выбрать недели';
//var tester ='Выбрать месяцы';
console.log(search + '+' + tester + ' = ' + q.test(tester));
console.dir(q);
console.log(search + '+' + tester + ' = ' + q.test(tester));
console.dir(q);
console.log(search + '+' + tester + ' = ' + q.test(tester));
console.dir(q);
if (q.test(tester) === true) {
item.removeClass('hidden-result');
} else {
item.addClass('hidden-result');
}
Первые строки и показывают в консоли странные результаты
выб+Выбрать дни = true
/выб/gi
выб+Выбрать дни = false
/выб/gi
выб+Выбрать дни = true
/выб/gi
выб+Выбрать недели =false
/выб/gi
выб+Выбрать недели = true
/выб/gi
выб+Выбрать недели = false
/выб/gi
выб+Выбрать месяцы = true
/выб/gi
выб+Выбрать месяцы = false
/выб/gi
выб+Выбрать месяцы = true
/выб/gi
В результате, у меня прячется элемент с текстом "Выбрать недели"(результат test возвращает false!), хотя элементы с текстом "Выбрать дни" и "Выбрать месяцы" отрабатывают и показываются. И так же не совсем понятно, почему каждый раз результаты разные.
Тестировал в Хроме и Firefox.