Страницы

Поиск по вопросам

понедельник, 26 ноября 2018 г.

js регулярные выражения - проверка на несоответствие конкретным значениям

Добрый день. Есть js-код для проверки значения переменной с помощью регулярного выражения:
regEx = new RegExp('^[a-zA-Z0-9_-]{1,50}$'); if (regEx.test(value){ // Делаем что-то }
Есть ли возможность доработать регулярку так, чтобы она проверяла значение переменной на неравенство каким-то конкретным значениям (например buh и buh2). Пробывал как-то так:
regEx = new RegExp('(!buh)(!buh2)[a-zA-Z0-9_-]{1,50}');
Но не работает.


Ответ

Можно воспользоваться негативным просмотром вперед
^(?!buh$)(?!buh2$)[a-zA-Z0-9_-]{1,50}$
или так
^(?!buh\d*$)[a-zA-Z0-9_-]{1,50}$
Тест https://regex101.com/r/qUNmZ2/1

Комментариев нет:

Отправить комментарий