2011-04-17 65 views
11

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

但是,如果用户有一个像日本人@日本日本人.com这样的电子邮件地址,它不会进入低谷。

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

是不是电子邮件地址总是这样? (AZ AZ 0-9)@(AZ AZ 0-9)。(AZ AZ 0-9)

+0

http://blog.icann.org/2010/05/idn-cctlds/ – Treffynnon 2011-04-17 15:46:15

回答

6

作为每RFC 5322( “因特网消息格式”),3.4.1节(“地址-规格规格“)您不能使用非US-ASCII字符,例如您列出的那些字符。但是,字符如...

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

......只要连续只有一个,就是合法的,还有句号/句点字符。

欲了解更多信息,请参阅上面的RFC和the Wikipedia article on email addresses,特别是“语法”部分。

UPDATE

还有一个较新的,尽管实验,RFC 5336(现已被RFC6531过时),其中处理含UTF-8字符的现在合法的国际域名等

4

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

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

出于这个原因,如果我检查电子邮件地址,我用一个很简单的正则表达式像[email protected]+(\..+)*(用户部分东西,主机部分有至少一个点)。其他任何事情都会导致误报和漏报。

最好不要匹配电子邮件地址(只检查“@”之类的微不足道的东西),而是发送选择加入的电子邮件。

+0

+1必须同意,“宽松”验证和选择加入方法是一个更优雅的解决方案。 – 2011-04-17 20:09:05

0

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

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

相关问题