验证电子邮件地址是否包含“@”和“。”

时间:2011-05-10 19:59:53

标签: java email validation email-address

我需要验证插入的电子邮件地址是否包含“@”和“。”没有正则表达式。 有人可以给我“java代码”和“结构图”的例子吗?

7 个答案:

答案 0 :(得分:10)

怀疑你是在追求类似的东西:

if (!address.contains("@") || !address.contains("."))
{
    // Handle bad address
}

编辑:当然,这远非完整的验证。它甚至几乎都不是验证的开始 - 但希望这会让你了解你想要处理的特定情况。

答案 1 :(得分:3)

您可以使用commons-validator,具体为EmailValidator.isValid()

答案 2 :(得分:1)

根据我的个人经验,唯一一个验证电子邮件地址的方法是发送带有验证链接或代码的电子邮件。 我尝试了很多验证器,但它们不完整,因为电子邮件地址可能非常松散......

答案 3 :(得分:1)

int dot = address.indexOf('.');
int at = address.indexOf('@', dot + 1);

if(dot == -1 || at == -1 || address.length() == 2) {
  // handle bad address
}

这不是完整的解决方案。你必须检查多次出现的@和地址只有'。'和'@'。

答案 4 :(得分:0)

如果不允许使用正则表达式,请使用String.indexOf,但我希望您在输入时不要验证地址。

最好发送激活电子邮件。

答案 5 :(得分:0)

您还可以使用Java Mail API。具体来说,这里:

http://javamail.kenai.com/nonav/javadocs/javax/mail/internet/InternetAddress.html#InternetAddress(java.lang.String,布尔值)

答案 6 :(得分:0)

您可以搜索第一个'@',然后检查'@'左边的内容是否是有效字符串(即它没有空格或其他内容)。之后,您应该在右侧搜索“。”,并检查两个字符串,以查找有效域。

这是一个非常弱的测试。无论如何,我建议使用正则表达式。