Php 筛选基于internet的电子邮件地址

Php 筛选基于internet的电子邮件地址,php,javascript,Php,Javascript,如果电子邮件地址必须尽可能非基于互联网,我如何着手对电子邮件地址进行客户端验证。i、 e雅虎、gmail和数百都是不允许的。它不一定是完美的,但我只想尽量减少这些电子邮件地址的有效性 目前,我只是使用正则表达式来检查有效(嗯…几乎有效)的电子邮件地址 有什么想法吗?假设“非互联网”指的是“本地”,那么解决方案应该相当简单:将允许承载您接受的邮件地址的主机名列入白名单 一个稍微复杂一点的解决方案,可能需要更少的维护(取决于您的系统),就是将所有以国家或全球顶级域结尾的主机名列入黑名单,然后为您自己

如果电子邮件地址必须尽可能非基于互联网,我如何着手对电子邮件地址进行客户端验证。i、 e雅虎、gmail和数百都是不允许的。它不一定是完美的,但我只想尽量减少这些电子邮件地址的有效性

目前,我只是使用正则表达式来检查有效(嗯…几乎有效)的电子邮件地址

有什么想法吗?

假设“非互联网”指的是“本地”,那么解决方案应该相当简单:将允许承载您接受的邮件地址的主机名列入白名单


一个稍微复杂一点的解决方案,可能需要更少的维护(取决于您的系统),就是将所有以国家或全球顶级域结尾的主机名列入黑名单,然后为您自己的域列出一个例外列表。

我所读到的非webmail帐户要求在这一点上的实用性值得怀疑,几乎不可能真正保证。如果这真的是你的硬性要求的一部分,那就意味着作为主要电子邮件迁移到gmail的人将需要注册一个次要帐户,对我来说,这将增加我认为你的网站不值得注册的几率

这就是说,一个正确验证RFC2822地址的正则表达式,加上一个排除列表,将与sin一样难看(因为RFC2822验证正则表达式也与sin一样难看)


最后,请记住,您还需要在服务器端验证此提交,因为您不能相信客户端上的验证是否实际运行。

还有regex验证有什么问题?无论如何,“非基于internet的”是什么意思?我所说的“非基于internet的”电子邮件只是一封公司电子邮件。只是为了确保电子邮件属于(适当的)组织的人,而不是一般的冲浪者。