2017-06-01 2 views
1

有効なメールで漢字を許可する方法を探しています。有効なメールアドレスに中国語の文字を許可します。

私が持っている現在のコードは次のようになります。

fileprivate func isValidEmail(testStr:String) -> Bool { 
    // print("validate calendar: \(testStr)") 
    let emailRegEx = "[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,}" 

    let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx) 
    return emailTest.evaluate(with: testStr) 
} 

私は中国語の文字を許可するように上記のコードを変更するにはどうすればよいですか?ありがとう。

答えて

1

the API Reference for NSRegularExpressionで説明したように、あなたが指定したUnicode Propertyで任意の文字に一致するように構文\p{UNICODE PROPERTY NAME}を使用することができます。あなたのメールアドレスにCJKとラテン文字の両方を許可したい場合は、次のような正規表現で "Han" Unicodeプロパティを使用することができます:

let emailRegEx = "([A-Z0-9a-z._%+-]|\\p{Han})[email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,}" 
1

これを試してみてください:

続いて正規表現式は他の言語を可能にするために使用されています。

(\p{L}),(\w+),(\w),