Вопрос Regex Javascript - Ошибка "Range out of order in character class" почему?

Регистрация
9 Июл 2013
Сообщения
84
Репутация
11
Спасибо
0
Монет
0
Тут функция которая у меня не работает:
Https://pastebin.com/yLNysTj8

Дело в том что когда идет на линию:
let specialChars = notEncrypted_password.match('/[\'\/~`\!@#\%\^&\*\(\)_\-\+=\{\}\[\]\|;:"\<\>,\.\?\\\]/');
Консоль выдает ошибку:

Uncaught SyntaxError: Invalid regular expression: //['/~`!@#%^&*()_-+={}[]|;:"<>,.?\]//: Range out of order in character class
at String.match ()
at Function.isPasswordStrongEnough

Помогите в чем причина и как исправить?
Знаю что ошибка в regex, но не знаю что именно из это является ошибкой.
 
В вашем regexpr надо заэкранировать как минимум - (минус), * (звездочку) и возможно много других символов, типа ^ , потому как плюс сразу после минуса действительно является ошибкой в регэкспах (ожидается указание окончания диапазона, а вместо этого пришло оператор повторов).
 
Я думал что не важен порядок в регулярке. Минус или плюс идёт потом не важно. Я перевёл на русский: диапозон не по попорядку. Имеется ввиду символы не попорядку? А какая разница какая у них последовательность _-+ тут вроде не заэкранировано. Плюсик значит 1 или больше повторов. * - Ноль или больше повторов.
 
Назад
Сверху