在编辑不同的正则表达式时检查 UITextField
Check UITextField while editing for different regex
我想在编辑时检查我的 passwordTextField
。我有三个不同的标准:
- 至少 8 个字符
- 至少1个大小写字母
- 至少 1 位数
我已经有了这个功能,之后我需要它来一次检查所有三种情况:
static func isPasswordValid(_ password : String) -> Bool {
let passwordTest = NSPredicate(format: "SELF MATCHES %@", "^(?=.*[A-Z]).(?=.*[0-9]).(?=.*[a-z]).{8,}$")
return passwordTest.evaluate(with: password)
}
但现在我需要在编辑我的textField
时分别检查不同的案例。
我基本上需要在某种 whileEditing
方法中进行 3 种不同的正则表达式检查 我被困在这里...
有没有简单的方法来完成这个?
这 passwordTest.evaluate(with: password)
returns 未知谓词命中的结果,因此您必须将它们分开以处理您需要的内容 e.x 可能有 8 个字符,但它们之间没有数字
使用UITextField
EventListner
方法检查您的条件。您还可以在 Nibs
或 Storyboards
,
中设置以下内容
textField.addTarget(self, action: #selector(textFieldDidChange), for: .editingChanged)
我想在编辑时检查我的 passwordTextField
。我有三个不同的标准:
- 至少 8 个字符
- 至少1个大小写字母
- 至少 1 位数
我已经有了这个功能,之后我需要它来一次检查所有三种情况:
static func isPasswordValid(_ password : String) -> Bool {
let passwordTest = NSPredicate(format: "SELF MATCHES %@", "^(?=.*[A-Z]).(?=.*[0-9]).(?=.*[a-z]).{8,}$")
return passwordTest.evaluate(with: password)
}
但现在我需要在编辑我的textField
时分别检查不同的案例。
我基本上需要在某种 whileEditing
方法中进行 3 种不同的正则表达式检查 我被困在这里...
有没有简单的方法来完成这个?
这 passwordTest.evaluate(with: password)
returns 未知谓词命中的结果,因此您必须将它们分开以处理您需要的内容 e.x 可能有 8 个字符,但它们之间没有数字
使用UITextField
EventListner
方法检查您的条件。您还可以在 Nibs
或 Storyboards
,
textField.addTarget(self, action: #selector(textFieldDidChange), for: .editingChanged)