Struts Validator關於Email Address的校驗問題

意外的發現,可能已經很多人也發現過了。在此僅作記錄。

問題描述:當Eamil Address的輸入域裏面包含全角字符(雙字節字符)的時候,瀏覽器端(IE)的校驗可以通過,但是服務器端的校驗不可以通過。從常識上來說,服務器端的校驗邏輯是合理的。這麼一來,對於同一個功能點,瀏覽器端的邏輯和服務器端的邏輯不一致,對於業務來說可能沒有影響,但是對用戶體驗來說可能是一種破壞。

初步調查:Struts Validator並非特例。問題的根本應該是在於JavaScript的正則表達式實現和Java不一樣。目前發現只要是JavaScript寫的正則表達式,都存在這個問題,ASP所用的JScript亦然。

問題的初步調查結果是清楚的,但是暫時沒有能力做更深入的調查,猜想對於JavaScript的正則表達式實現來說恐怕是沒辦法解決的,否則爲什麼Struts Validator直到現在(Ver1.2.7爲例)還沒有解決這個問題?

發佈了50 篇原創文章 · 獲贊 1 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章