在Android中验证电子邮件地址(例如来自用户输入字段)的好方法是什么?org.apache.commons.validator.routines.EmailValidator似乎不可用.有没有其他图书馆这样做已经包含在Android中,或者我是否必须使用RegExp?
首先,我知道不建议使用正则表达式用于电子邮件,但我必须对此进行测试.
我有这个正则表达式:
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Run Code Online (Sandbox Code Playgroud)
在Java中,我这样做了:
Pattern p = Pattern.compile("\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b");
Matcher m = p.matcher("foobar@gmail.com");
if (m.find())
System.out.println("Correct!");
Run Code Online (Sandbox Code Playgroud)
但是,无论电子邮件是否成立,正则表达式都会失败.Eclipse中的"查找和替换"与相同的正则表达式一起工作正常.
任何的想法?
谢谢,