我正在尝试查找一个简单的方法来检查用户的输入是否符合电子邮件地址的几个条件。我已阅读了关于此主题的许多主题,并且大多数人似乎也想验证电子邮件地址。我并没有试图建立一些超级电子邮件地址验证器/检查器。我试图建立一个检查这些东西的方法:对Java中电子邮件的非混淆性简单验证字符串
- 用户输入的字符串包含'@'符号。
- '@'符号前至少有两个字符。
- 有一个'。'在符号后面只有三个字符。域名可以根据需要尽可能长,但字符串必须以“._ _ _”结尾。如“.com”或“.net”...
据我所知,这不是一个包罗万象的电子邮件地址检查器。这不是我想要的。我只想要一件简单的事情。我知道这可能是一个例行的问题,但即使在阅读了验证电子邮件地址的所有严重疯狂的方法之后,我也无法弄清楚。
这是我到目前为止的代码:(别担心,我已经知道这是很可悲的....)
public static void checkEmail()
{
validEmail(emailAddresses);
if(validEmail(emailAddresses))
{
}
}
public static boolean validEmail(String email) {
return email.matches("[A-Z0-9._%+-][A-Z0-9._%+-][email protected][A-Z0-9.-]+\\.[A-Z]{3}");
}
在这种情况下很难说什么是简单的。您发布了一些案例(包含@,之前/之后包含另一个字符)。我会阅读规范并制定一个完整的正则表达式来验证它。 – khachik 2011-04-15 20:10:08
只需注意术语:您不想检查电子邮件,想检查*电子邮件地址*。这是不一样的。 – 2011-04-15 20:34:59
另一个说明:有顶级域名有更多('博物馆,''航空'),并且少于两个('de','us'等 - 所有国家代码顶级域名,事实上)字母。 (而且我的大部分电子邮件地址都以'.de'结尾。) – 2011-04-15 20:39:15