今天看到別的的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...