我正在做一些必須完全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