正则表达式验证电子邮件地址

时间:2014-02-05 20:07:59

标签: java android regex

我正在尝试创建一个正则表达式来检查是否输入了有效的电子邮件地址。我的正则表达式有问题。这是我正在使用的源代码:

if (!Pattern.matches("^[\\w-\\+]+(\\.[\\w]+)*@[\\w-]+(\\.[\\w]+)*(\\.[a-z]{2,})$", s)) {
                    et.setError("Enter a valid Email Address");
}

我做错了什么?

3 个答案:

答案 0 :(得分:1)

public final static boolean isValidEmail(CharSequence target) {
    return ((!TextUtils.isEmpty(target)) && (android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches()));
} 

您可以看到更多默认模式Patterns | Android Developers

答案 1 :(得分:1)

我不知道您是否打算使用正则表达式,但Android有自己的内置方法来验证电子邮件地址

boolean isValid = android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches(); 

自Gingerbread以来可以使用

答案 2 :(得分:-1)

这就是诀窍:

([\\w-+]+(?:\\.[\\w-+]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7})