2011-05-10 71 views
2

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

+0

你的意思是地址是*只是*“@”还是“。”?或者验证他们*包含*“@”和“。”。 – 2011-05-10 20:02:32

+1

你真的看过吗? (或者实际上尝试什么?)这类问题远非“稀有”。 – 2011-05-10 20:02:46

+0

对不起,验证邮件是否包含“@”和“。”。 – 2011-05-10 20:04:54

回答

10

嫌疑你喜欢的东西后是这是远从完整的验证,当然。它几乎不是开始验证 - 但希望这会让你去与你想处理的特定情况。

+2

还算不错。 “。@”甚至没有接近有效的地址:) – Kaj 2011-05-10 20:11:19

+5

@Kaj:绝对。这远不是一个完整的验证 - 我只回答所问的问题。 – 2011-05-10 20:13:08

+1

+1,用于回答刚刚被问到的问题:) – 2011-05-10 20:22:48

0

使用String.indexOf如果你不能使用正则表达式,而但我会adwise你输入时不验证地址。

最好发送一封激活邮件。

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

编辑:

1

从我个人的经验,不仅是验证一个电子邮件地址发送电子邮件包含验证链接或代码。 我尝试了许多验证器,但它们并不完整,因为电子邮件地址可能非常松散...

+0

甚至一个有效的电子邮件地址也不多。 – 2011-05-10 20:10:17

+0

即使您能够将电子邮件发送到某个地址,也不能证明它是“有效”的(假设您将“有效”定义为“遵循RFC”。 – Brian 2011-05-10 20:34:56

+0

@Brian:“带有验证链接或代码”即通过点击链接用户确认提供的电子邮件是通信的工作手段我也探索了appache utils但是我们有一些外国客户抱怨我们的系统使用否认他们有效的电子邮件地址 – VirtualTroll 2011-05-11 14:06:27

0

您可以搜索第一个“@”,然后检查你所拥有的的左侧“@”是一个有效的字符串(即它不有空间或其他)。之后,您应该在右侧搜索“。”,并检查两个字符串是否有效。

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

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

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

这不是完整的解决方案。您必须检查@和多个发生的地址,只有'。'和'@'。