мне нужно проверить строку пароля с этими правилами:Есть ли способ объединить эти два регулярных выражения?
- только строчные буквы, прописные буквы, цифры и некоторые специальные символы (смотри ниже) допускаются.
- Minimun 8 символов и не более 16
Пароль должен содержит по крайней мере один символ из трех из четырех следующих групп:
- строчной буквы
- прописной буквы
- Числовой символ
- Специальный символ (@ # $% &/= _!? ;-).
Для достижения этой цели я сделал две проверки. Легко один первый шаг, проверьте допустимые символы и клыков:
^[[email protected]\#$%&/=?_.,:;\-]{8,16}$
второй один является немного более сложным, но я мог бы решить его благодаря этому Stackoverflow answer:
^((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]\#$%&/=?_.,:;\-])|(?=.*[a-z])(?=.*[0-9])(?=.*[[email protected]\#$%&/=?_.,:;\-])|(?=.*[A-Z])(?=.*[0-9])(?=.*[[email protected]\#$%&/=?_.,:;\-])).{8,16}$
Я думаю, что, вероятно, решение с двумя шагами ясное и простое ... но ... Есть ли способ объединить оба регулярных выражения?
Я хотел бы применить решение на Java, JavaScript и Lua.
Политика паролей является обязательным требованием к моей проблеме, и он реализовал эту политику в других системах, поэтому ее очень сложно изменить в настоящее время. Спасибо @TomLord за ваше решение и советы! –