Java 我能';无法验证电子邮件字段

Java 我能';无法验证电子邮件字段,java,android,Java,Android,我目前正在做一个项目,其中包含一个注册表,电子邮件验证必须在“@”符号后包含一个“libraryparadise.com”或“gmail.com”,我似乎找不到解决方案。鉴于电子邮件地址的复杂性,电子邮件验证没有一个很好的解决方案 考虑两部分验证 1.验证电子邮件地址文本是否以“@libraryparadise.com”或“@gmail.com”结尾,并在“@”字符的左侧有1个字符 2.使用正则表达式验证电子邮件地址 更容易将这些验证分解为多个检查,而不是一个大的正则表达式。未来的开发人员可以

我目前正在做一个项目,其中包含一个注册表,电子邮件验证必须在“@”符号后包含一个“libraryparadise.com”或“gmail.com”,我似乎找不到解决方案。

鉴于电子邮件地址的复杂性,电子邮件验证没有一个很好的解决方案

考虑两部分验证
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();
    }
}