Android 英语和阿拉伯语字符的电子邮件验证
Android email validation for english and arabic characters
我目前正在使用此正则表达式模式来验证电子邮件地址:
android.util.Patterns.EMAIL_ADDRESS.matcher(emailAddress).matches();
它不适用于阿拉伯字符。我需要它同时处理英语和阿拉伯语字符。
这是我在项目中为 android (OS) 合并的正则表达式模式:
public static final Pattern EMAIL_ADDRESS
= Pattern.compile(
"[a-zA-Z0-9\+\.\_\%\-\+]{1,256}" +
"\@" +
"[a-zA-Z0-9][a-zA-Z0-9\-]{0,64}" +
"(" +
"\." +
"[a-zA-Z0-9][a-zA-Z0-9\-]{0,25}" +
")+"
);
我不是正则表达式专家。我需要一些帮助来弄清楚如何同时支持这两者。
这可能不是最佳答案,但我可以通过添加阿拉伯字符使其工作:
[\u0621-\u064A\u0660-\u0669a-zA-Z0-9\+\.\_\%\-\+]{1,256}\@[\u0621-\u064A\u0660-\u0669a-zA-Z0-9][\u0621-\u064A\u0660-\u0669a-zA-Z0-9\-]{0,64}(\.[\u0621-\u064A\u0660-\u0669a-zA-Z0-9][\u0621-\u064A\u0660-\u0669a-zA-Z0-9\-]{0,25})+
Here's an example on regexr! (it doesn't display Arabic selection properly, but it is selected)
我目前正在使用此正则表达式模式来验证电子邮件地址:
android.util.Patterns.EMAIL_ADDRESS.matcher(emailAddress).matches();
它不适用于阿拉伯字符。我需要它同时处理英语和阿拉伯语字符。
这是我在项目中为 android (OS) 合并的正则表达式模式:
public static final Pattern EMAIL_ADDRESS
= Pattern.compile(
"[a-zA-Z0-9\+\.\_\%\-\+]{1,256}" +
"\@" +
"[a-zA-Z0-9][a-zA-Z0-9\-]{0,64}" +
"(" +
"\." +
"[a-zA-Z0-9][a-zA-Z0-9\-]{0,25}" +
")+"
);
我不是正则表达式专家。我需要一些帮助来弄清楚如何同时支持这两者。
这可能不是最佳答案,但我可以通过添加阿拉伯字符使其工作:
[\u0621-\u064A\u0660-\u0669a-zA-Z0-9\+\.\_\%\-\+]{1,256}\@[\u0621-\u064A\u0660-\u0669a-zA-Z0-9][\u0621-\u064A\u0660-\u0669a-zA-Z0-9\-]{0,64}(\.[\u0621-\u064A\u0660-\u0669a-zA-Z0-9][\u0621-\u064A\u0660-\u0669a-zA-Z0-9\-]{0,25})+
Here's an example on regexr! (it doesn't display Arabic selection properly, but it is selected)