Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.07.2015, 14:29
Аватар для Armen
Кандидат Javascript-наук
Отправить личное сообщение для Armen Посмотреть профиль Найти все сообщения от Armen
 
Регистрация: 28.06.2009
Сообщений: 120

Почему не работает регулярка?
Здравствуйте, подскажите пожалуйста, есть такое выражение, которое ищет любой символ в заданной строке и если находит, то выделяет это слово или букву жирным.
this.searchContact = function (whatToLook, whereToLook) {
        var str = whereToLook,
            newStr = str;

        var pattern = new RegExp(whatToLook, "gi");
        var searchStr = str.search(pattern, '<strong>$&</strong>');

        if (searchStr != -1 && whatToLook != "")
            newStr = str.replace(pattern, '<strong>$&</strong>');
        else
            newStr = str;

        return newStr;


    };

Вопрос: если я передаю выражению скобку ( или ), то появляетсяошибка. Подскажите ,как пофиксить, экранировать не получается и encode тоже.
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2015, 14:48
Аватар для Armen
Кандидат Javascript-наук
Отправить личное сообщение для Armen Посмотреть профиль Найти все сообщения от Armen
 
Регистрация: 28.06.2009
Сообщений: 120

сделал так
new RegExp(whatToLook.replace(/[[\]{}()*+?.\\|^$\-,&#\s]/g, "\\$&"), "gi"),
Ответить с цитированием
  #3 (permalink)  
Старый 21.07.2015, 14:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

в
Сообщение от Armen
whatToLook
надо перезаписать символы [ \ ^ $ . | ? * + ( ) на слеш + символ
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cookie почему не работает скрипт Alven Общие вопросы Javascript 1 01.09.2013 03:17
В Mozilla работает а в Opera нет почему? alex2012 Общие вопросы Javascript 2 03.08.2013 22:43
Почему offset().top не работает в ИЕ Afonin jQuery 2 08.07.2011 10:08
Помогите с javascript (Почему не работает) remus Оффтопик 9 09.06.2010 11:18
Почему не работает функция? Vitaly jQuery 10 31.07.2009 17:01