繁体   English   中英

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

[英]validate that an email address contains “@” and “.”

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

怀疑你的事情是这样的:

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

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

你可以使用commons-validator ,特别是EmailValidator.isValid()

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

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

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

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

如果不允许使用regexp,请使用String.indexOf,但我还是希望您在输入期间不验证地址。

发送激活电子邮件会更好。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM