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


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

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

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

电子邮件地址总是这样吗? (a-z A-Z 0-9) @ (a-z A-Z 0-9)。(a-z A-Z 0-9)


6968
2018-04-17 15:39


起源

blog.icann.org/2010/05/idn-cctlds - Treffynnon


答案:


按照 RFC 5322 (“Internet邮件格式”),第3.4.1节(“地址规范”),您不能使用非US-ASCII字符,例如您列出的字符。但是,...等人物

! # $ % & ' * + - / = ? ^ _  { | } ~

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

有关更多信息,请参阅上面的RFC和确实 关于电子邮件地址的维基百科文章,特别是“语法”部分。

UPDATE

还有一个更新的,尽管是实验性的, RFC 5336 (现在已经过时了 RFC6531)处理包含UTF-8字符等的现在合法的国际域名。


6
2018-04-17 15:46





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

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

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

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


5
2018-04-17 16:51



+1必须同意,“松散”验证和选择加入方法是一种更优雅的解决方案。 - John Parker


通常地址在表格中

[_a-zA-Z0-9]+(\.[_a-zA-Z0-9]+)*@[_a-zA-Z0-9]+(\.[_a-zA-Z0-9]+)+

换句话说 \w+(\.\w+)*@\w+(\.\w+)+。此网站还提供有关电子邮件地址模式的有用信息:

http://www.regular-expressions.info/email.html


3
2018-04-17 15:46





似乎没有很多人提到存在问题。在我之前的人已经给出了美丽的正则表达式,所以我不会重复这些。

我不太了解日本方面,但至少作为一个使用中文用于主要互联网浏览语言的母语人士,我从未见过中文的电子邮件地址。曾经有一段时间有汉字的域名很受欢迎。但我相信这是在DNS方面完成的,这是一个商业泡沫。现在你很少见到具有中文字符的域名了。电子邮件地址也是如此。


0
2017-11-03 05:18