在有效的电子邮件地址中允许中文字符



我希望找到一种允许中文字符的方法。

我当前的代码是:

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),

最新更新