Регулярное выражение для js regex
Есть проблемы с написанием регулярного выражения. Задача: Создать регулярное выражение с набором правил
- только латиница
- общее количество символов - от 8 до 30
- Должно включать в себя либо хотя-бы одну цифру, либо хотя-бы один спецсимвол. (хотя бы либо одно, либо другое, или все сразу)
Пример: TestTest5 , TestTest! , TestTest!5
Выражение формата: ^((?=.\d)(?=.\W)(?=.*[A-Z]).{8,30})$ требует ввод и спецсимвола и цифры обязательно. По отдельности - не срабатывает.
Переписанное под "Или" выражение ^(({(?=.\d)|(?=.\W)})(?=.*[A-Z]).{8,30})$ не работает. Верятно - написано криво синтаксически. Буду очень признателен с решением текущей проблемы.
Ответы (1 шт):
Автор решения: Фитц Чивэл
→ Ссылка
Решение найдено:
^(?=.*[A-Z])(?=.*[a-z])((?=.*\d)|(?=.*[@$!%*#?&]))[A-Za-z\d@$!%*#?&]{8,}$