如何在JavaScript和PHP中验证非英语(UTF-8)编码的电子邮件地址?

前端之家收集整理的这篇文章主要介绍了如何在JavaScript和PHP中验证非英语(UTF-8)编码的电子邮件地址?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开展的一个网站的一部分包含用户必须提供他们的电子邮件地址的注册过程.刚才我才知道非ascii的域名是可能的(电子邮件也是这样).
我的后台是utf-8编码的 MySQL,我期望任何用户(不同的地区)应该能够输入他们的电子邮件,但不知道如何验证这种电子邮件地址.

目前我正在测试jquery工具,它正确地验证了英文电子邮件地址,但无法验证非ascii电子邮件.另外我需要在服务器端用PHP做同样的事情.有正则表达式可以验证这种电子邮件地址吗?

我已经尝试过这个但是在jquery工具中失败(这只是演示的例子,我也不明白)

闪闪发光@闪闪发光.COM

当他们用自己的IME输入英文电子邮件地址(jonesmith@somemail.com)时,会发生什么.这可以使用我们用于英文邮件验证的当前正则表达式来验证.目前我不用担心电子邮件是不存在的.

谢谢

解决方法

尝试验证电子邮件地址可能不是一个好主意.规范( RFC5321,RFC5322)允许如此大的灵活性,使用正则表达式验证它们是不可能的,并且使用函数进行验证是一项很大的工作.这样做的结果是,大多数电子邮件验证方案最终拒绝了大量有效的电子邮件地址,这对用户的不便甚至是非常大的. (到目前为止,最常见的例子是不允许这个角色.)

用户(意外或故意)输入的电子邮件地址可能比无效的用户更有可能,因此实际上验证是非常有益的工作,如果您不正确地使用可能的费用.

我建议您只需检查客户端是否存在@字符,然后发送确认电子邮件以进行验证;这是最实际的验证方式,它确认地址也是正确的.

猜你在找的JavaScript相关文章