如何在android中验证电子邮件Id?
我已经在我的应用程序中实施了电子邮件验证,但问题是,应用程序正在接受超过64个字符的本地域部分,当我写入..nnn..@gmail.com时,应用程序也在接受这一点,并且根据RFC 3696规范,第3节,句号(“.”)不能用于开始或结束本地部分,也不可能出现两个或两个以上的连续周期 请帮帮我如何在android中验证电子邮件Id?,android,Android,我已经在我的应用程序中实施了电子邮件验证,但问题是,应用程序正在接受超过64个字符的本地域部分,当我写入..nnn..@gmail.com时,应用程序也在接受这一点,并且根据RFC 3696规范,第3节,句号(“.”)不能用于开始或结束本地部分,也不可能出现两个或两个以上的连续周期 请帮帮我 private boolean isValidEmail(String email) {// validation for email Id boolean isValid = false;
private boolean isValidEmail(String email) {// validation for email Id
boolean isValid = false;
String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,255}$";
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(email);
if (matcher.matches()) {
isValid = true;
}
return isValid;
}
试试这个
String expression = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";
Android SDK有一个用于检查电子邮件的内置正则表达式
我建议您签出这个库进行android客户端验证 试试这个
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailValidation {
private Pattern pattern;
private Matcher matcher;
private static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
public EmailValidation() {
pattern = Pattern.compile(EMAIL_PATTERN);
}
public boolean isValidate(final String hex) {
matcher = pattern.matcher(hex);
return matcher.matches();
}
}
我想在所有这些答案中提出一个简单的解决方案
public static boolean isEmail(String email){
return android.util.Patterns.EMAIL_ADDRESS.matcher(inputData.trim()).matches()
}
阅读有关模式的文档。请尝试此代码。如果电子邮件有效,则返回true
android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
但是当我写的时候..aa..@gmail.com应用程序正在接受但是当我写的时候。。和64个字符的本地域部分,这是例外,这是工作:)我需要写的本地部分不超过64个字符这个可怕的验证库这个答案应该有更多的选票。它是专门针对Android的,不会重复与其他版本相同的答案。
public static boolean isEmail(String email){
return android.util.Patterns.EMAIL_ADDRESS.matcher(inputData.trim()).matches()
}
android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();