无法在UITextField上使用NSPredicate对对象进行正则表达式匹配

时间:2019-01-06 17:25:47

标签: swift regex email-validation

检查电子邮件正则表达式给出错误:

  

无法在对象错误时进行正则表达式匹配

在UITextField的扩展中。

let emailRegEx : String = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
let e = emailTest.evaluate(with: self)

1 个答案:

答案 0 :(得分:2)

selfUITextField。因此,您需要self.text!以便谓词针对文本字段的文本运行。

let e = emailTest.evaluate(with: self.text!)

是的,强制解开text的{​​{1}}属性是安全的。