日文/中文电子邮件地址?

Wri*_*der 11 php regex unicode

我正在制作一些必须完全unicode的网站.数据库等正在工作,我只有一些小的逻辑错误.如果字段有效,我用ajax测试我的注册表单,在电子邮件字段中我用正则表达式检查.

但是,如果用户拥有像日本人@日人日本人.com这样的电子邮件地址,那么它就不会出现问题.

  1. 这种类型的邮件地址存在吗?

电子邮件地址总是这样吗?(az AZ 0-9)@(az AZ 0-9).(az AZ 0-9)

Joh*_*ker 6

根据RFC 5322("Internet消息格式"),第3.4.1节("Addr-Spec规范"),您不能使用非US-ASCII字符,例如您列出的字符.但是,...等人物

! # $ % & ' * + - / = ? ^ _  { | } ~
Run Code Online (Sandbox Code Playgroud)

......只要连续只有一个,就是合法的,以及句号/句号.

有关更多信息,请参阅上面的RFC以及维基百科关于电子邮件地址的文章,特别是"语法"部分.

UPDATE

还有一个较新的,尽管是实验性的RFC 5336(现已被RFC6531废弃),它处理包含UTF-8字符等的现在合法的国际域名.


Pro*_*man 5

当您尝试匹配/验证正则表达式上的电子邮件地址时,您必须非常小心.在某些情况下,您拒绝有效的电子邮件地址.基本上它:

给我看一个正则表达式,我给你看一个不匹配的电子邮件.

因此,如果我检查电子邮件地址,我会使用一个非常简单的正则表达式.+@.+(\..+)*(用户部分任何东西,主机部分至少有一个点).任何其他因素都会导致误报和漏报.

最好不要匹配电子邮件地址(只检查像"@"这样的琐碎的东西),而是发送选择加入电子邮件.