如果电子邮件地址确实存在,则通过ajax(而非regularrexp)实时检查电子邮件地址是否确实存在

时间:2009-11-24 22:21:15

标签: c# asp.net ajax json

我想通过onblur检查ajax的电子邮件地址验证? (asp.net,c#和... json或其他任何我不知道的事情)

我认为可以使用json并调用webservice。但有没有(免费)服务可以打电话?或者我必须自己写?希望你能理解我的意思。

由于

3 个答案:

答案 0 :(得分:3)

如果您只想验证电子邮件地址的格式,可以使用javascript中的正则表达式执行此操作,而无需执行任何ajax调用。看看这个related thread

相反,如果您想检查电子邮件地址是否真实,我担心这是不可能的。没有所有现有电子邮件地址的数据库。

答案 1 :(得分:3)

电子邮件地址“存在”的整个概念有些含糊不清。自动回复地址是否“存在”?可以接收立即丢弃的邮件的地址“存在”吗?通过启动邮件传递会话并查看邮件服务器是否拒绝该地址是非法的,可以有效地探测某些邮件服务器。更精明的邮件服务器可以悄悄接受并丢弃发往“虚假”地址的邮件,以防止地址验证(即防止垃圾邮件发送者获得“好”地址)。你所要求的是非平凡的,并没有真正明确的答案。

答案 2 :(得分:2)

没有真正的方法可以确认电子邮件真的存在,除了发送电子邮件,看看你是否有反弹(即使这样,一些域已经配置了全部,所以它实际上可能不是电子邮件)。 / p>

您可以验证它的格式,以确保它看起来像电子邮件一样模糊。要真正验证电子邮件需要一个不合理的复杂正则表达式(我还没有看到真正包含范围的那个),但是一个简单的检查将排除大多数键盘粘合很容易。我通常使用:

^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$

它会接受很多虚假的电子邮件,但它可以合理地强制用户输入合法的内容。如果使用更复杂的正则表达式而不小心禁止任何合法地址,请小心谨慎,电子邮件规范在允许的范围内非常广泛。

您还可以尝试在电子邮件的主机部分(在@之后)进行DNS查找以获得额外的保护,但我不确定您将从中获得多少,因为您只需要他们撒谎真正的域名。