Я пробовала это выражение -
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
Это регулярное выражение будет обеспечивать соблюдение следующих правил:
По крайней мере, одна заглавная английская буква, (?=.*?[A-Z])
По крайней мере, одна строчная английская буква (?=.*?[a-z])
Как минимум одна цифра, (?=.*?[0-9])
По крайней мере, один специальный символ, (?=.*?[#?!@$%^&*-])
Длина не менее восьми .{8,}
(с анкерами)
Каким будет регулярное выражение для приведенного ниже требования.
- Для паролей длиной 13 и более символов требуются только строчные буквы.
- Пароли должны содержать не менее 8 символов.
- Passwords between 8 and 13 characters require at least 3 of the
following 4 categories of characters:
- Uppercase letters
- Строчные буквы
- Числа
- Символы
if (pass.length > 13) { checkPass13(pass) }
и т. Д. Я говорю, что регулярное выражение не является хорошим решением вашей проблемы. - person Nemoden   schedule 03.12.2019