【发布时间】:2020-02-15 21:04:49
【问题描述】:
我有一个textField,看起来像这样:
我想跟踪用户输入的内容。如果文本输入与文本字段下方的条件之一匹配,则“x”应更改为“checkImage”。
我已经有一个TextFieldDidChange 方法:
@objc func passwordTextFieldDidChange(_ textField: UITextField) {
if textField.text == "" {
self.eyeButton.isHidden = true
}else {
self.eyeButton.isHidden = false
}
}
问题:
如何检查文本: 1. 至少 1 个大写字母 + 1 个小写字母 2. 至少 1 位数字 3. 长度至少为 8
事后我也用这种方法检查密码强度:
static func isPasswordValid(_ password : String) -> Bool {
/*
^ Start anchor
(?=.*[A-Z].*[A-Z]) Ensure string has two uppercase letters.
(?=.*[!@#$&*]) Ensure string has one special case letter.
(?=.*[0-9].*[0-9]) Ensure string has two digits.
(?=.*[a-z].*[a-z].*[a-z]) Ensure string has three lowercase letters.
.{8} Ensure string is of length 8.
$ End anchor.
*/
let passwordTest = NSPredicate(format: "SELF MATCHES %@", "^(?=.*[A-Z]).(?=.*[0-9]).(?=.*[a-z]).{8,}$")
return passwordTest.evaluate(with: password)
}
但用户也应该得到“实时”反馈,无论密码是否符合 3 个条件。
如果我的问题不清楚或者您需要更多信息,请告诉我。感谢每一个帮助:)
【问题讨论】:
标签: ios swift regex uitextfield