2011-04-17 246 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方面完成的,這是一個商業泡沫。現在你幾乎不能再看到有中文字的域了。電子郵件地址也是如此。

相關問題