我正在做一些必须完全unicode的网站。 数据库等工作,我只有一些小的逻辑错误。 我正在用ajax测试我的注册表单,如果字段有效的话,我会在电子邮件字段中检查正则表达式。日文/中文电子邮件地址?
但是,如果用户有一个像日本人@日本日本人.com这样的电子邮件地址,它不会进入低谷。
- 这种类型的邮件地址是否存在?
是不是电子邮件地址总是这样? (AZ AZ 0-9)@(AZ AZ 0-9)。(AZ AZ 0-9)
我正在做一些必须完全unicode的网站。 数据库等工作,我只有一些小的逻辑错误。 我正在用ajax测试我的注册表单,如果字段有效的话,我会在电子邮件字段中检查正则表达式。日文/中文电子邮件地址?
但是,如果用户有一个像日本人@日本日本人.com这样的电子邮件地址,它不会进入低谷。
是不是电子邮件地址总是这样? (AZ AZ 0-9)@(AZ AZ 0-9)。(AZ AZ 0-9)
作为每RFC 5322( “因特网消息格式”),3.4.1节(“地址-规格规格“)您不能使用非US-ASCII字符,例如您列出的那些字符。但是,字符如...
! # $ % & ' * + -/= ?^_ { | } ~
......只要连续只有一个,就是合法的,还有句号/句点字符。
欲了解更多信息,请参阅上面的RFC和the Wikipedia article on email addresses,特别是“语法”部分。
UPDATE
一般地址在表格
[_a-zA-Z0-9]+(\.[_a-zA-Z0-9]+)*@[_a-zA-Z0-9]+(\.[_a-zA-Z0-9]+)+
换句话说\w+(\.\w+)*@\w+(\.\w+)+
。另外这个网站有关于电子邮件地址模式的有用信息:
当您尝试匹配/在正则表达式验证电子邮件地址,你必须非常小心。在某些情况下,您会拒绝无效的电子邮件地址。基本上它:
告诉我一个正则表达式,我告诉你一个不匹配的电子邮件。
出于这个原因,如果我检查电子邮件地址,我用一个很简单的正则表达式像[email protected]+(\..+)*
(用户部分东西,主机部分有至少一个点)。其他任何事情都会导致误报和漏报。
最好不要匹配电子邮件地址(只检查“@”之类的微不足道的东西),而是发送选择加入的电子邮件。
+1必须同意,“宽松”验证和选择加入方法是一个更优雅的解决方案。 – 2011-04-17 20:09:05
似乎并不是很多人提到存在的问题。在我之前的人给了美丽的正则表达式,所以我不会重复这些。
我对日方的了解不多,但至少作为一位以中文为主要互联网浏览语言的母语人士,我从未见过中文电子邮件地址。曾经有一段时间中国字的域名很受欢迎。但我相信这是在DNS方面完成的,这是一个商业泡沫。现在你几乎不能再看到有中文字的域了。电子邮件地址也是如此。
http://blog.icann.org/2010/05/idn-cctlds/ – Treffynnon 2011-04-17 15:46:15