不管是動態**,還是其它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個字以上
js判斷兩種格式的輸入日期的正確性
最簡單的
function isvaliddate(datestr)
return true;
} 第二種
第三種,比較複雜的
判斷數字用 isnan()
linux c實現通用hash表
此部落格只有 hash表概念等,請自行學習。此次hash中使用鍊錶為本人所寫。後續改寫此hash表,使用核心鍊錶,詳情請檢視下乙個部落格。common.h pragma once ifndef common h define common h include include include endi...
多型實現通用鍊錶
鍊錶節點的資料域型別不再為具體的資料型別,而是通過乙個基類指標引入,達到不借助模板而是通過多型實現通用鍊錶 define crt secure no warnings include include using namespace std class object virtual object vi...
鍊錶的通用實現方式
在鍊錶的使用時,結構物件所包含的資料各不相同,所以在鍊錶的儲存需要針對不同的鍊錶物件重複編寫相應的儲存方法,能不能實現一種通用的方式,能夠針對不同的結構物件,實現統一的儲存方法?當然能。一般我們在儲存鍊錶時,都會儲存鍊錶物件結構的首位址,也就是結構指標。在計算機中,對於指標,在32位機器上,實際就是...