Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Swordmage Мудрец (13367), закрыт 3 года назад
Тут функция которая у меня не работает:
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, но не знаю что именно из это является ошибкой.
Лучший ответ
ewe 2e¶ CoЛнЫшКоcBeTиТоЧеНЬяРкО* Высший разум (365731) 3 года назад
В вашем regexpr надо заэкранировать как минимум - (минус), * (звездочку) и возможно много других символов, типа ^
, потому как плюс сразу после минуса действительно является ошибкой в регэкспах (ожидается указание окончания диапазона, а вместо этого пришло оператор повторов).
Остальные ответы
Александр Звягинцев Знаток (395) 3 года назад
всё переделывай с нуля. Лучше виндовс пеерустановить. Мне очень помогло
SwordmageМудрец (13367) 3 года назад
Если это шутка то я не оценил.
Александр Звягинцев Знаток (395) Swordmage, не, эт не шутка
Сосиска в тесте Мыслитель (5645) 3 года назад
Я думал что не важен порядок в регулярке. Минус или плюс идёт потом не важно.
Я перевёл на русский: диапозон не по попорядку. Имеется ввиду символы не попорядку? А какая разница какая у них последовательность
_-+ тут вроде не заэкранировано. Плюсик значит 1 или больше повторов. * - Ноль или больше повторов.
H-p A Просветленный (46934) 3 года назад
Найди нормальную регулярку в гугле. Я никогда регулярки сам не пишу.
no name Мыслитель (6068) 3 года назад
'\/\[\'\/~`\!@#\%\^&\*\(\)_\-\+=\{\}\[\]\|;:"\<\>,\.\?\\\]\/

\/['\/~`!@#%^&*()_\-+={}[]|;:"<>,.?\]\/
Похожие вопросы