jQuery表單校驗插件validator使用方法詳解
validator插件:將jquery實現(xiàn)的常用操作進(jìn)行封裝,我們只需要學(xué)會插件的使用語法,就可以使用簡單的代碼實現(xiàn)較為復(fù)雜的功能。
validator的基本使用
1. 需要引入的文件
① jQuery類庫
② 插件的js文件 官網(wǎng)
2.表單校驗插件validator的基本語法
在rules中通過校驗規(guī)則名稱使用校驗規(guī)則 ,在messages中定義該規(guī)則對應(yīng)的錯誤提示信息。
<!-- 需要引入的文件 --> <script src="../lib/jquery.js"></script> <script src="../dist/jquery.validate.js"></script> <!-- 表單校驗插件validator的基本語法 --> <script> $("form表單的選擇器").validate({ rules:{//配置表單項校驗的規(guī)則 表單項的name:{ 校驗規(guī)則名稱: 規(guī)則值, ... 校驗規(guī)則名稱: 規(guī)則值 }, ..., 表單項的name:{ 校驗規(guī)則名稱: 規(guī)則值, ... 校驗規(guī)則名稱: 規(guī)則值 } }, messages:{//配置對應(yīng)的表單項校驗失敗后的錯誤提示信息 表單項的name:{ 校驗規(guī)則名稱: "提示信息", ... 校驗規(guī)則名稱: "提示信息" }, ..., 表單項的name:{ 校驗規(guī)則名稱: "提示信息", ... 校驗規(guī)則名稱: "提示信息" } } }); </script>
常用的校驗規(guī)則名稱,規(guī)則值及使用范圍:
注:$(“form表單的選擇器”)即表單jQuery對象。
擴展:當(dāng)錯誤提示信息不按照我們預(yù)想的位置顯示時,我們可以自定義錯誤顯示標(biāo)簽放在我們需要顯示的位置。
語法:
//標(biāo)簽寫在什么地方,錯誤信息就顯示在什么地方 <label class="error" for="表單項的name"></label>
3. 自定義校驗方法
如果預(yù)定義的校驗規(guī)則不能滿足需求則可以進(jìn)行自定義校驗規(guī)則。
自定義校驗語法:
$.validator.addMethod("校驗規(guī)則名稱",function(value, element, params){ //value:要校驗的值(校驗組件的value值) //element:要校驗的表單項標(biāo)簽對象 //params:使用此規(guī)則時,配置的規(guī)則的值。(校驗規(guī)則的參數(shù)) //如果校驗通過,就返回true;否則返回false }, "默認(rèn)效驗錯誤時的提示信息");
validator表單校驗的簡單示例
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> table { width: 30%; /* 居中 */ /* margin: 0 auto; */ /* magin:atuo配合絕對定位實現(xiàn)水平和垂直方向居中 */ margin:auto; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } td { padding: 8px 2px; } .error { color: red; } </style> </head> <body> <form name="empForm" id="empForm" method="get" action="#"> <table> <tr> <td>用戶名</td> <td><input type="text" id="username" name="username" /></td> </tr> <tr> <td>密碼</td> <td><input type="password" id="pwd" name="pwd" /></td> </tr> <tr> <td>確認(rèn)密碼</td> <td><input type="password" id="pwd2" name="pwd2" /></td> </tr> <tr> <td>性別</td> <td> <input type="radio" id="male" value="m" name="sex" />男 <input type="radio" id="female" value="f" name="sex" />女 <label class="error" for="sex"></label> </td> </tr> <tr> <td>年齡</td> <td><input type="text" id="age" name="age" /></td> </tr> <tr> <td align="left">電子郵箱:</td> <td><input type="text" id="email" name="email" /></td> </tr> <tr> <td align="left">身份證:</td> <td><input type="text" id="idcard" name="idcard" /></td> </tr> <tr> <td>學(xué)歷</td> <td> <select name="edu" id="edu"> <option value="">-請選擇你的學(xué)歷-</option> <option value="a">學(xué)前</option> <option value="a">小學(xué)</option> <option value="a">初中</option> <option value="a">高中</option> <option value="a">???lt;/option> <option value="b">本科</option> <option value="c">研究生</option> <option value="e">碩士</option> <option value="d">博士</option> </select> </td> </tr> <tr> <td>興趣愛好</td> <td colspan="2"> <input type="checkbox" name="hobby" id="coding" value="0" />編程 <input type="checkbox" name="hobby" id="read" value="1" />看書 <input type="checkbox" name="hobby" id="ball" value="2" />打球 <label class="error" for="hobby"></label> </td> </tr> <tr> <td></td> <td><input type="submit" id="smtBtn" value="確定"></td> </tr> </table> </form> <!-- 引入jQuery類庫 --> <script src="js/jquery-3.3.1.js"></script> <!-- 引入validator插件 --> <script src="js/jquery.validate.min.js"></script> <script> $("#empForm").validate({ rules:{//配置表單項校驗的規(guī)則 username:{ required: true, maxlength:5, }, pwd:{ required: true, rangelength:[6,10] }, pwd2:{ required:true, rangelength:[6, 10], equalTo:"#pwd" }, sex:{ required:true }, age:{ required:true, range:[18, 70], digits:true }, email:{ required:true, email:true }, idcard:{ required:true, card:true }, edu:{ required:true }, hobby:{ required:true }, }, messages:{//配置對應(yīng)的表單項校驗失敗后的錯誤提示信息 username:{ required: "請輸入用戶名", maxlength:"用戶名不得多于5位" }, pwd:{ required: "請輸入密碼", rangelength:"密碼必須是6~10位" }, pwd2:{ required:"確認(rèn)密碼不能為空", rangelength:"確認(rèn)密碼必須是6~10位", equalTo:"兩次密碼輸入不一致" }, sex:{ required:"性別必選" }, age:{ required:"年齡不能為空", range:"年齡必須是18~70歲之間", digits:"年齡必須是整數(shù)" }, email:{ required:"郵箱不能為空", email:"郵箱格式不正確" }, idcard:{ required:"身份證號不能為空", card:"身份證號格式不正確"http://自定義身份證校驗方法中有錯誤時提示信息,這里寫了,會顯示這里的 }, edu:{ required:"學(xué)歷必選" }, hobby:{ required:"興趣愛好必選" } } }) //自定義身份證校驗方法 $.validator.addMethod("card",function(value, element, params){ //value:要校驗的值(校驗組件的value值) //element:要校驗的表單項標(biāo)簽對象 //params:使用此規(guī)則時,配置的規(guī)則的值。(校驗規(guī)則的參數(shù)) //如果校驗通過,就返回true;否則返回false // 身份證格式:15位數(shù)字, 18位數(shù)字, 17位數(shù)字+X var reg = /^\d{15}(\d{2}[\dx])?$/i;//簡單的身份證校驗正則表達(dá)式 var result = reg.test(value); return result; },"請輸入正確的身份證號"); </script> </body> </html>
本文已被整理到了《jquery表單驗證大全》 ,歡迎大家學(xué)習(xí)閱讀。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jquery調(diào)取json數(shù)據(jù)實現(xiàn)省市級聯(lián)的方法
這篇文章主要介紹了jquery調(diào)取json數(shù)據(jù)實現(xiàn)省市級聯(lián)的方法,可實現(xiàn)讀取json數(shù)據(jù)綁定到下拉菜單的功能,非常具有實用價值,需要的朋友可以參考下2015-01-01jQuery ajax dataType值為text json探索分享
ajax dataType值為text json的使用是怎么樣的,在本文將為大家想你想介紹下,感興趣的朋友不要錯過2013-09-09基于jQuery替換table中的內(nèi)容并顯示進(jìn)度條的代碼
這個例子使我更加明白呈現(xiàn)數(shù)據(jù)是前端工作滴一部分,如何使table中的數(shù)值變?yōu)榍逦貤l狀圖呢?聽我細(xì)細(xì)道來2011-08-08jquery.form.js實現(xiàn)將form提交轉(zhuǎn)為ajax方式提交的方法
這篇文章主要介紹了jquery.form.js實現(xiàn)將form提交轉(zhuǎn)為ajax方式提交的方法,涉及jQuery插件實現(xiàn)form表單的Ajax提交技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04jQuery 更改checkbox的狀態(tài),無效的解決方法
下面小編就為大家?guī)硪黄猨Query 更改checkbox的狀態(tài),無效的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07jQuery中bind(),live(),delegate(),on()綁定事件方法實例詳解
這篇文章主要介紹了jQuery中bind(),live(),delegate(),on()綁定事件方法,結(jié)合實例形式詳細(xì)分析了bind(),live(),delegate(),on()方法綁定事件的具體使用技巧,并對比分析了四種方式的異同點,需要的朋友可以參考下2016-01-01jQuery UI工具提示框部件Tooltip Widget
這篇文章介紹了jQuery UI工具提示框部件Tooltip Widget,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06