Я искал сайт и не нашел точно, что я ищу. Критерии Пароль:Regex для ввода пароля
- Должно быть 6 символов, 50 макс
- должна включать в себя 1 альфа-символ
- должны включать в себя 1 цифровой или специальный символ
Вот что я имею в Java:
public static Pattern p = Pattern.compile(
"((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])|(?=.*[\\[email protected]#$%^&*\\(\\)_+\\{\\}\\[\\]\\?<>|_]).{6,50})"
);
Проблема в том, что пароль 1234567 соответствует (это действительно), который так не должно быть.
Любая помощь будет отличной.
Я бы никогда не использовал RegEx для проверки пароля. Лучше и быстрее проверить его вручную. –
Создайте по 3 регулярных выражения для каждого случая и проверите все вместе с помощью операции И. –
Возможно, вы захотите разбить требования. Особенно, если вы планируете информировать пользователя о том, почему их пароль не соответствует требованиям. Если вы поместите все это в одно утверждение, вы не можете сказать, какое требование было неудовлетворенным, и не может сказать им конкретную причину. – BLuFeNiX