Java 我能';无法验证电子邮件字段
我目前正在做一个项目,其中包含一个注册表,电子邮件验证必须在“@”符号后包含一个“libraryparadise.com”或“gmail.com”,我似乎找不到解决方案。鉴于电子邮件地址的复杂性,电子邮件验证没有一个很好的解决方案 考虑两部分验证Java 我能';无法验证电子邮件字段,java,android,Java,Android,我目前正在做一个项目,其中包含一个注册表,电子邮件验证必须在“@”符号后包含一个“libraryparadise.com”或“gmail.com”,我似乎找不到解决方案。鉴于电子邮件地址的复杂性,电子邮件验证没有一个很好的解决方案 考虑两部分验证 1.验证电子邮件地址文本是否以“@libraryparadise.com”或“@gmail.com”结尾,并在“@”字符的左侧有1个字符 2.使用正则表达式验证电子邮件地址 更容易将这些验证分解为多个检查,而不是一个大的正则表达式。未来的开发人员可以
1.验证电子邮件地址文本是否以“@libraryparadise.com”或“@gmail.com”结尾,并在“@”字符的左侧有1个字符
2.使用正则表达式验证电子邮件地址
更容易将这些验证分解为多个检查,而不是一个大的正则表达式。未来的开发人员可以阅读代码,以便在不同的检查中更容易地按顺序查看检查。您可以使用正则表达式 如果你确定你只想要“libraryparadise.com”和“gmail.com”,那么你可以使用两个正则表达式并像这样比较它们
String regex = "^[a-zA-Z0-9_]+(?:\\.[a-zA-Z0-9_]+)*@gmail.com*$";
String regex2 = "^[a-zA-Z0-9_]+(?:\\.[a-zA-Z0-
9_]+)*@libraryparadise.com*$";
Pattern pattern = Pattern.compile(regex);
Pattern pattern2 = Pattern.compile(regex2);
获取包含文本的视图
sampleText=findViewById(R.id.sampleText);
然后在条件允许的任何地方使用
if(pattern.matcher(sampleText.getText().toString().trim()).matches()||
pattern2.matcher(sampleText.getText().toString().trim()).matches()){
//ValidEmail
}
else {
//Invalid Email
}
请尝试使用此代码检查电子邮件验证 Patterns.EMAIL\u ADDRESS.matcher只需检查正确的电子邮件模式,如“abc@xyz.com"
如果要避免为电子邮件验证创建正则表达式,可以使用下一个代码
private void validateEmail() {
String email = emailEditText.getText().toString().trim();
if (PatternsCompat.EMAIL_ADDRESS.matcher(email).matches() &&
(email.endsWith("@gmail.com") || email.endsWith("libraryparadise.com"))) {
setEmail(email);
} else {
displayError();
}
}
只需搜索
电子邮件有效性
。你会找到一堆关于这个姿势的正则表达式。为Android修改代码。好的。非常感谢好心的先生,如果成功的话,我会通知你的!!这是一个很好的解决办法,我在普通电子邮件上测试了它,效果很好,但电子邮件像(。abc@xyz.com),(abc.@xyz.com)和(abc@def.xyz.com)但是没有成功。
private void validateEmail() {
String email = emailEditText.getText().toString().trim();
if (PatternsCompat.EMAIL_ADDRESS.matcher(email).matches() &&
(email.endsWith("@gmail.com") || email.endsWith("libraryparadise.com"))) {
setEmail(email);
} else {
displayError();
}
}