[英]validate that an email address contains “@” and “.”
我需要验证插入的电子邮件地址是否包含“@”和“。” 没有正则表达式。 请问有人给我“java代码”和“结构图”的例子吗?
我怀疑你的事情是这样的:
if (!address.contains("@") || !address.contains("."))
{
// Handle bad address
}
编辑:当然,这远非完整的验证。 它甚至几乎没有验证的开始 - 但希望这将使你了解你想要处理的特定情况。
根据我的个人经验,唯一的验证电子邮件地址是发送带有验证链接或代码的电子邮件。 我尝试了很多验证器,但它们不完整,因为电子邮件地址可能非常宽松......
int dot = address.indexOf('.');
int at = address.indexOf('@', dot + 1);
if(dot == -1 || at == -1 || address.length() == 2) {
// handle bad address
}
这不是完整的解决方案。 你必须检查@和地址的多次出现只有'。' 和'@'。
如果不允许使用regexp,请使用String.indexOf,但我还是希望您在输入期间不验证地址。
发送激活电子邮件会更好。
您还可以使用Java Mail API。 具体来说,这里:
您可以搜索第一个'@',然后检查'@'左边的内容是否是有效字符串(即它没有空格或其他内容)。 之后,您应该在右侧搜索“。”,并检查两个字符串,以获取有效域。
这是一个非常弱的测试。 无论如何,我建议使用正则表达式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.