Пароль должен иметь: минимум 8 символов, минимум 1 маленькая буква, 1 цифра и 1 заглавная буква или специальный символ (! @ # $% ...) ?
Как сделать условие: 1 заглавная буква или специальный символ ? '^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8}$'
А может не надо? Под это условие попадут пару процентов паролей людей, а значит, им придется придумывать новые пароли, которые они благополучно забудут (или потеряют). Делайте просто по минимальной длине пароля, максимум проверяйте цифры.