還在用正則式驗證Email 欄位資料是否正確嗎? – 要改的地方太 ... | email格式檢查
不管是會員註冊,還是線上購物、活動登錄,只要目標客群會用email的,在線上表單請使用者留Email是很稀鬆平常的一件事,但常會發現這種[email protected]@[email protected]@gmail.com一般比較初階的前端Email欄位驗證,要嘛只有驗證是否為空,不管輸入什麼。要嘛就是驗證格式是否合法,讓合法的email格式得到true,通常使用is.js[1],或是用正則式驗證(regexpatterns),如跟Google大神求來的範例程式碼,但是網路上有很多古老的email驗證規則,在使用者的email帳號有英文大寫、有點、有加號的時候會驗證失敗,開發人員菜...
不管是會員註冊,還是線上購物、活動登錄,只要目標客群會用 email 的,在線上表單請使用者留 Email 是很稀鬆平常的一件事,但常會發現這種 email
@[email protected]@[email protected]
一般比較初階的前端 Email 欄位驗證,要嘛只有驗證是否為空,不管輸入什麼。
要嘛就是驗證格式是否合法,讓合法的 email 格式得到 true,通常使用 is.js [1],或是用正則式驗證(regex patterns),如跟 Google 大神求來的範例程式碼,但是網路上有很多古老的 email 驗證規則,在使用者的 email 帳號有英文大寫、有點、有加號的時候會驗證失敗,開發人員菜不菜這時候就知道。
var reEmail = /S+@S+.S+/;reEmail.test(‘[email protected]’);//truereEmail.test(‘123456’); //false
然後前端驗證的部分就收工了。至於收集到的 email 長得像最上面那樣,根本不能用!會拉低信件瀏覽率,升高外部寄件服務的 error 率,那就是行銷部門或別人的事了?再發函請後端發個 email 驗證信,然後做套 email 驗證流程?
有其他更簡單又精緻的做法,避免使用者輸入 email 的時候發生上述情況嗎?
如果使用一些匪區或是國外的線上服務,常常可以見到這種功能
1.用專屬 APP 直接掃 QR CODE 登入會員。或是有些用 QQ 帳號串接的網站,也可以直接掃一下登入,因為我常常都不記得自己用哪一組帳號密碼,所以我超愛這功能。但是開發 APP 難度太高,而且每次作業系統更新就心驚驚的。
2.輸入 Email 時,會有一些常見 ESP 的自動完成提示。用 nuintun 大大的 mailtip[2] 套件即可做到,但我怎麼知道 TA 還有哪些常見的 email? 如果客戶需求說客群是「教職團購」或「學生交友」,要把全台灣的 .edu.tw 都補上去呢?
只是要單純在前端驗證使用者輸入的是不是 email,還有個比較簡單的作法,就是使用一些第三方的 email 格式...