Ниже приведено регулярное выражение, которое я в настоящее время использую для проверки паролей: как минимум один символ в верхнем регистре, как минимум один символ в нижнем регистре, как минимум один номер и длина не менее 8 символов.
func isValidPassword() -> Bool {
let passwordRegEx = "^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{8,}$"
return NSPredicate(format:"SELF MATCHES %@", passwordRegEx).evaluate(with: self)
}
Теперь я хотел бы включить специальные символы и обновить правило проверки следующим образом.
длиной не менее 8 символов, должно включать как минимум 3 из них: заглавные буквы, строчные буквы, цифры и специальные символы.
Каким будет регулярное выражение для этого требования?