Регулярное выражение для пароля
уже продолжительное время сижу над такой регуляркой, нужно проверить строку, чтобы она содержала как минимум 3 заглавных буквы и как минимум 3 цифры, срока не должна содержать спец. символы, т.е в строке могут быть только заглавные буквы, цифры и буквы нижнего регистра. Может быть у кого-то есть идеи как такую регулярку написать?)
- aaaaaSaaSasAd212D - валидна
- gfg1fdgdSSSdsad3f3 - валидна
- dfsdfsfdf3fsdfsfF - не валидна
Ответы (1 шт):
Переношу из комментария в ответ:
Шаблон составил следующим образом:
(?=.*[0-9].*[0-9].*[0-9])(?=.*[A-Z].*[A-Z].*[A-Z])[A-Za-z0-9]{8,30}
[A-Za-z0-9]{8,30} - выбираем любую последовательность букв и цифр начиная от 8 и заканчивая 30 символами
(?=.*[A-Z].*[A-Z].*[A-Z]) - проверяем наличие 3 заглавных букв
(?=.*[0-9].*[0-9].*[0-9]) - проверяем наличие 3 цифр.
В последних двух условиях дополнительно прописываем .*, так как заглавные буквы, либо цифры могут быть размазаны по строке.
Важно что бы не было включено игнорирование регистра в методе используемом данным регулярным выражением.
Пример: https://regex101.com/r/oYaAle/1