我希望找到一种允许中文字符的方法。
我当前的代码是:
fileprivate func isValidEmail(testStr:String) -> Bool {
// print("validate calendar: (testStr)")
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}"
let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
return emailTest.evaluate(with: testStr)
}
如何更改上述代码以允许汉字?谢谢。
如NSRegularExpression
的API参考中所述,您可以使用语法p{UNICODE PROPERTY NAME}
与指定的Unicode属性匹配任何字符。如果您想在电子邮件地址中同时允许CJK和拉丁字符,则可以尝试在正则表达式中使用" han" Unicode属性,如下:
let emailRegEx = "([A-Z0-9a-z._%+-]|\p{Han})+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}"
尝试以下:
遵循正则表达式以允许其他语言。
(p{L}),(w+),(w),