Web前端設計模式 jQuery驗證外掛程式

2022-01-10 09:54:51 字數 3742 閱讀 1277

設計場景:

這確實是乙個很糟糕的事情,即使你可以從之前的**見那些**拷貝進來,但是修改工作仍然會令你發狂...

所以,我花了點時間將驗證做成乙個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...