據說是可以通用的表單驗證函式

2021-04-06 19:44:55 字數 1514 閱讀 9073

今天看到別的的blog上的這個好東西,忍不住拿來。準備為以後做許可權點的字段級控制用。

不管是動態**,還是其它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)}

demo.htm  演示檔案

選擇你喜歡的運動:

游泳籃球

足球排球

你的學歷:

大學中學

小學個人介紹:

20個字以上

據說是個新浪的面試題

一 都貼錯了 二 其中兩個貼錯了 豆子 黑豆 白豆 混豆 標籤 白豆 混豆 黑豆 因為都貼錯了,而唯一隨機情況的則是混合豆,那麼我們從混合豆標籤中取。取出一顆白豆,那麼已知標籤全部錯誤,這個混合豆標籤則應該改為白豆。那麼剩下 黑豆標籤 和 混豆的標籤 就直接解決啦 白色標籤 從黑色袋子揭下來替換了原...

據說是世界上最健康的作息

據說是世界上最健康的作息 7 30 起床。英國威斯敏斯特大學的研究人員發現,那些在早上5 22 7 21分起床的人,其血液中有一種能引起心臟病的物質含量較高,因此,在7 21之後起床對身體健康更加有益。開啟檯燈。一醒來,就將燈開啟,這樣將會重新調整體內的生物鐘,調整睡眠和醒來模式。拉夫堡大學睡眠研究...

據說是月薪2W的筆試題

話說,有這樣一道據說是月薪2w的筆試題 include stdio.h void print void main 要求在 部分寫 使整個程式執行後輸出 hello world 有些人說,這還不簡單啊,於是寫出這樣的 01.include stdio.h 02.voidprint 03.06.void...