我目前正在使用此正则表达式模式来验证电子邮件地址:
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}" +
")+"
);
我不是正则表达专家。我可以用一些帮助来弄清楚如何支持两者。
答案 0 :(得分:2)
这可能不是最佳答案,但我可以通过添加aribic字符来实现它:
[\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)