通用表單驗證函式
不管是動態**,還是其它b/s結構的系統,都離不開表單
表單做為客戶端向伺服器提交資料的載體擔當相當重要的角色.
這就引出了乙個問題,提交的資料合法嗎?擺在我們面前的問題就是驗證這些資料
保證所提交的資料是合法的.所以,我們寫了乙個大堆的驗證函式.當我們開始新的乙個
專案的開發時,我們又得寫一大堆的驗證函式,然後再除錯這一大堆的函式...
本文將介紹一種方法來提高我的**的可重用性,提高我們的開發效率.
個人以為表單的驗證應該包含兩部分:
第一,判斷使用者輸入的資料是否合法.
第二,提示使用者你的資料為什麼是不合法的.
所以,我們的通用表單驗證函式要實現的功能就是:
第一,取得使用者輸入的資料getvalue(el)
第二,驗證使用者的資料checkform(oform)
ie支援自定義屬性,這就是這個通用函式實現的基礎
我們可以在表單元素上加入描述自身資訊的屬性.有點像xml吧.
check屬性:該屬性用於儲存資料合法性的正規表示式.
warning屬性:該性性用於儲存出錯誤提示資訊.
第三,返回有誤的表單提示goback(el)
這三個步驟的觸發事件是onsubmit,記住是return checkform(this)
搞錯了就全功盡棄了 :)
* author:wanghr100(灰豆寶寶.net)
* email:[email protected]
* update:19:28 2004-8-23
* 注意:寫正規表示式時一定要小心.不要讓"有心人"有空子鑽.
* 已實現功能:
* 對text,password,hidden,file,textarea,select,radio,checkbox進行合法性驗證
* 待實現功能:把正則表式寫成個庫.
*--------------- 客戶端表單通用驗證checkform(oform) -----------------*/
//主函式
function checkform(oform)}}
} //通用取值函式分三類進行取值
//文字輸入框,直接取值el.value
//單多選,遍歷所有選項取得被選中的個數返回結果"00"表示選中兩個
//單多下拉列表,遍歷所有選項取得被選中的個數返回結果"0"表示選中乙個
function getvalue(el)
//取得radio,checkbox的選中數,用"0"來表示選中的個數,我們寫正則的時候就可以通過0來表示選中個數
function getvaluechoose(el)
來表示選中個數
function getvaluesel(el)
}return svalue;}}
//通用返回函式,驗證沒通過返回的效果.分三類進行取值
//文字輸入框,游標定位在文字輸入框的末尾
//單多選,第一選項取得焦點
//單多下拉列表,取得焦點
function goback(el)}
demo.htm 演示檔案
選擇你喜歡的運動:
游泳籃球
足球排球
你的學歷:
大學中學
小學個人介紹:
20個字以上 附:
microsoft windows指令碼技術,這裡有正規表示式的介紹
乙個很不錯的正規表示式**,裡面收集了很多的正規表示式.直接拿來主義吧.
通用表單驗證函式
不管是動態 還是其它b s結構的系統,都離不開表單 表單做為客戶端向伺服器提交資料的載體擔當相當重要的角色.這就引出了乙個問題,提交的資料合法嗎?擺在我們面前的問題就是驗證這些資料 保證所提交的資料是合法的.所以,我們寫了乙個大堆的驗證函式.當我們開始新的乙個 專案的開發時,我們又得寫一大堆的驗證函...
通用表單驗證函式
不管是動態 還是其它b s結構的系統,都離不開表單 表單做為客戶端向伺服器提交資料的載體擔當相當重要的角色.這就引出了乙個問題,提交的資料合法嗎?擺在我們面前的問題就是驗證這些資料 保證所提交的資料是合法的.所以,我們寫了乙個大堆的驗證函式.當我們開始新的乙個 專案的開發時,我們又得寫一大堆的驗證函...
通用表單驗證函式
不管是動態 還是其它b s結構的系統,都離不開表單 表單做為客戶端向伺服器提交資料的載體擔當相當重要的角色.這就引出了乙個問題,提交的資料合法嗎?擺在我們面前的問題就是驗證這些資料 保證所提交的資料是合法的.所以,我們寫了乙個大堆的驗證函式.當我們開始新的乙個 專案的開發時,我們又得寫一大堆的驗證函...