正確的驗證 email 地址!

如何在輸入者輸入一個電子郵件地址之後,確定其輸入的是正確合法的電子郵件。

在 html5 的年代,有一個簡單的方法就是使用 <input type=”email” /> 這樣簡潔有力的做法交給瀏覽器去驗證。
不過有一個問題,就是曾是萬惡的 IE瀏覽器,在過去的版本,目前還不少人使用的 IE8 當中並不支援這樣的做法。所以只好改由 javascript 來驗證。
不過回到了後端都還要再行驗證一次,因為使用者輸入的東西是不可信任的。(這是安全性的原則,而非不信任各位訪客。)

不過,用什麼手段或是如何驗證不是這邊文章的重點。
重點是何謂正確的

!def!xyz%abc@example.com
“test”blah”@example.com
+1~1+@example.com

你覺得以上三個是合法的電子郵件地址嗎??
根據 RFC 中有關於電子郵件地址格式的規範中,你上三個都是合法的電子郵件地址。
千萬別懷疑,這是千真萬確的事實。

在 IE 9.0.9 、 Firefox 15.0.1 、 Chrome 21.0.1180.89 當中,三個都可以在 <input type=”email” /> 欄位中正確的輸入並送出。

不過在 WordPress 當中,第二個地址 “test”blah”@iana.org 並不允許,因為 WP 的驗證程式當中並不允許使用 ” 這一個符號的使用。
以上報告!

  • 發布日期:
  • 更新日期:
  • html/css

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *