設計場景:
這確實是乙個很糟糕的事情,即使你可以從之前的**見那些**拷貝進來,但是修改工作仍然會令你發狂...
所以,我花了點時間將驗證做成乙個jquery外掛程式...
設計目標:建立乙個基於jquery框架的通用web驗證外掛程式...
設計要求:1.需要漂亮的css樣式及小圖示的潤飾...
2.基於jquery框架...
3.呼叫.net web 服務來實現與資料庫的非同步互動...
解決方案:1、首先,我們來設計三個類,分別用來顯示web給使用者的視覺感知。它們分別是
.msg_warning
.msg_error
.msg_ok
分別是驗證錯誤,驗證警告和驗證正確時候的不同樣式...
2. 在相應的位置放置,如樣式中的所示,包含msgwarning.gif,msgerror.jpg,msgok.gif三張小分別對應.msg_warning;.msg_error;.msg_ok;
3.開始編寫指令碼
(1)、//去掉空值
string.prototype.trim = function()
這個函式用以去掉文字框中的空位置(trim)...
(2)、寫兩個陣列,用以存放觸發驗證時的提示語句和樣式...
var errorwords = ['正確!', '不能為空!', 'e-mail位址長度不能超過50位!', '請輸入正確的郵箱格式!',"密碼必須大於6個,少於16個!","金鑰不配對!",'公司名稱不能超過50位!',"區號和號碼均不為空!","區號為4位數字!","號碼為7-10位的數字!","qq號碼為5-12位數字!",'位址長度不超過50位!','名字為10位以內的中文!','手機號為11位數字!','郵編為6位數字!','使用者名為3-15位之間!','網域名稱格式錯誤!','該使用者名稱已註冊!','該郵箱已被註冊!']
var errorclass = ['msg_ok', 'msg_warning', 'msg_warning', 'msg_error', 'msg_warning', 'msg_error', 'msg_warning', 'msg_warning', 'msg_error','msg_error','msg_error','msg_error','msg_error','msg_error','msg_error','msg_error','msg_error','msg_error','msg_error']
(3)、開始編寫各種驗證型別,我寫了所有我能夠想到的...
;(function($)
$(this).next().remove("span");
$(this).after(""+errorwords[check]+"");
})
}
})//閉包密碼驗證s
jquery.fn.extend($/;
if(pwd.trim()=='') check=1;
else if(!path.test(pwd)) check=4;
else check=0;
$(this).next().remove("span");
$(this).after(""+errorwords[check]+"");
}) }
})
//閉包密碼重複核對
jquery.fn.extend()
}
})//閉包公司名稱核對
jquery.fn.extend()
}
})//閉包位址核對
jquery.fn.extend()
}
})//閉包使用者真實姓名核對 利用函式返回程式結果
jquery.fn.extend($/gi;
if(realname.trim()=='') check=1;
else if(!reg.test(realname)) check=12;
else check=0;
$(this).next().remove("span");
$(this).after(""+errorwords[check]+"");
return check;
})
}
})//閉包手機號碼核對
jquery.fn.extend($/;
if(telephone.trim()=='') check=1;
else if(!reg.test(telephone)) check=13;
else check=0;
$(this).next().remove("span");
$(this).after(""+errorwords[check]+"");
})}
})//閉包郵編核對
jquery.fn.extend($/;
if(pcode=='') check=1;
else if(!reg.test(pcode)) check=14;
else check=0;
$(this).next().remove("span");
$(this).after(""+errorwords[check]+"");
}) }})
//閉包使用者名稱核對
jquery.fn.extend()
}
})//閉包網域名稱驗證
jquery.fn.extend()
}})
//驗證使用者名稱是否存在資料庫中(呼叫webservice方法)
jquery.fn.extend(
else if(logname.length<3||logname.length>15)
else
相對應的web服務方法:
///
/// 核對郵箱是否存在,這邊偷懶用隨機驗證
///
///
///
[webmethod]
public bool checklogemail(string logemails)
//最終提交
jquery.fn.extend(
else alert("錯誤:"+erolen+",警告:"+warlen+",通過:"+oklen+",請完整填寫資訊!");
})
}
})
})(jquery);
4、在web頁面引入指令碼
5.web頁面的html原始碼
//至此全部結束
設計小結:還有很不不完善的地方,譬如未想到的驗證,還有**冗餘度過大,希望使用的時候可以自己改良下...
可以參考我做過的51印刷網的註冊頁面,我就是採用這個寫法的(
Web 前端設計模式 Dom重構
1.設計場景 某個週末的早上躲在家裡睡大覺,突然我們老大 億網公司的技術總監 乙個 撥過來,他說 智華,你趕緊從床上跳起來,不要刷牙,不要洗臉,滾到電腦面前,開啟電腦,我們的印刷網 出問題了.此時不能責怪公司的伺服器爛,網速卡之類的,那樣很可能會導致老大對我一頓胖揍甚至扣獎金.所以只能從 效能方面進...
web前端 jQuery動畫效果
基本 show s,e fn hide s,e fn toggle s e fn 滑動 slidedown s e fn slideup s,e fn slidetoggle s e fn 淡入淡出 fadein s e fn fadeout s e fn fadeto s o,e fn fadet...
web前端 jQuery屬性操作
知識點總結 1 屬性 屬性 如果你的選擇器選出了多個物件,那麼預設只會返回出第乙個屬性 attr 屬性名 屬性值 乙個引數是獲取屬性的值,兩個引數是設定屬性值 點選載入示例 removeattr 屬性名 刪除屬性的值 prop 屬性名 屬性值 屬性的返回值的是布林型別 單選,反選,取消的例子 rem...