最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery Validate初步體驗(yàn)(二)

 更新時(shí)間:2015年12月12日 10:18:00   作者:鮮橙  
這篇文章主要介紹了jQuery Validate初步體驗(yàn)(二) 的相關(guān)資料,需要的朋友可以參考下

在上篇文章給大家介紹了jQuery Validate初步體驗(yàn)(一) ,本文繼續(xù)給大家分享jquery validate相關(guān)知識(shí),對(duì)本文感興趣的朋友快來(lái)學(xué)習(xí)吧。

剛剛試了所謂的新版的用法。千萬(wàn)別問(wèn)我是多新,因?yàn)槲乙膊恢?。?!?br />

<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
<script src="js/jquery.validate.js"></script>
<script>
 $().ready(function() {
  $("#registerForm").validate();
 });
</script>
</head>
<body>
 <form id="registerForm" method="get" action="">
  <fieldset>
   <p>
    <label for="cusername">用戶(hù)名</label> 
    <input id="cusername" name="username" type="text" data-rule-required="true" data-rule-rangelength="[2,10]" data-msg-required="用戶(hù)名不能為空" data-msg-rangelength="用戶(hù)名長(zhǎng)度必須是{0}到{1}個(gè)字符">
   </p>
   <p>
    <label for="cpassword">密碼</label> 
    <input id="cpassword" name="password" type="password" data-rule-required="true" data-rule-minlength="6" data-msg-required="密碼不能為空" data-msg-minlength="密碼必須不少于{0}位">
   </p>
   <p>
    <label for="cconfirmpassword">確認(rèn)密碼</label> 
    <input id="cconfirmpassword" name="confirmpassword" type="password" data-rule-required="true" data-rule-equalTo="#cpassword" data-msg-required="請(qǐng)?jiān)俅屋斎朊艽a" data-msg-equalTo="兩次輸入的密碼不一致">
   </p>
   <p>
    <label for="cemail">郵箱</label> 
    <input id="cemail" name="email" data-rule-required="true" data-rule-email="true" data-msg-required="郵箱不能為空" data-msg-email="郵箱的格式不正確"/>
   </p>
   <p>
    <input type="submit" value="提交">
   </p>
  </fieldset>
 </form>
</body>
</html> 

 個(gè)人感覺(jué)這種用法比通過(guò)javascript自定義驗(yàn)證規(guī)則,要方便和簡(jiǎn)單多了。昨天在剛開(kāi)始自定義的時(shí)候,總是無(wú)法正確的提示,當(dāng)時(shí)完全不知道為什么。直到檢查了多遍才發(fā)現(xiàn),原來(lái)是因?yàn)槲业膔ules里的鍵值對(duì)之間漏了一個(gè)逗號(hào)。所以,如果默認(rèn)的校驗(yàn)規(guī)則已經(jīng)滿(mǎn)足你的驗(yàn)證需求,而你只是想改變一下提示語(yǔ)。那我個(gè)人建議你用這種新版的用法,當(dāng)然也可以用 系列(一) 里的方法

二。具體看情況自己選擇。

還有我上面的提示都是默認(rèn)的黑色,身為提示,那樣也太沒(méi)存在感了。

為了增加存在感,你只需要在<head></head>之間插入下面的代碼就可以了。

<style>
 #registerForm label.error{
  margin-left: 10px;
  color:red;
 }
</style> 

請(qǐng)注意上面的#號(hào)后面跟著是表單的ID,你需要改成你自己相應(yīng)的表單ID。我昨天嘗試的時(shí)候,找到的資料里寫(xiě)的是#frm。當(dāng)時(shí)我還以為#frm又是我沒(méi)接觸過(guò)的新用法呢,我還一直疑惑,為什么我的提示不顯示成紅色?;A(chǔ)差哎。。。

如果默認(rèn)的驗(yàn)證規(guī)則已經(jīng)不能滿(mǎn)足你的需求,那么接下來(lái),你就得自定義驗(yàn)證規(guī)則了。

比如,這里有一個(gè)需求,要你檢查用戶(hù)輸入的郵編是否合法,這時(shí)你就得自定義驗(yàn)證規(guī)則了,使用的方法是jQuery.validator.addMethod()。

<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
<script src="js/jquery.validate.js"></script>
<script>
 $().ready(function() {
  jQuery.validator.addMethod("isZipCode", function(value, element) {
   var tel = /^[0-9]{6}$/;
   return this.optional(element) || (tel.test(value));
  }, "請(qǐng)正確填寫(xiě)您的郵政編碼");
  $("#registerForm").validate({
   rules : {
    zipCode : {
     required : true,//對(duì)于required的提示語(yǔ)句沒(méi)有進(jìn)行任何的處理,他會(huì)使用默認(rèn)的英文的提示。
     isZipCode : true//isZipCode為自定義的驗(yàn)證規(guī)則
    }
   },
   messages : {//當(dāng)你不寫(xiě)提示語(yǔ)句,他會(huì)使用上面方法返回的提示。
    zipCode : {
     isZipCode : '請(qǐng)輸入正確的郵編'
    }
   }
  });
 });
</script>
<style>
#registerForm label.error {
 margin-left: 10px;
 color: red;
}
</style>
</head>
<body>
 <form id="registerForm" method="get" action="">
  <fieldset>
   <p>
    <label for="czipCode">中國(guó)郵編</label> 
    <input id="czipCode" name="zipCode" />
   </p>
   <p>
    <input type="submit" value="提交">
   </p>
  </fieldset>
 </form>
</body>
</html> 

當(dāng)然,你也可以把這個(gè)驗(yàn)證規(guī)則提取出來(lái)存到一個(gè)JS文件里,然后在要用的地方引入JS文件。

jQuery.validator.addMethod("isZipCode", function(value, element) {
 var tel = /^[0-9]{6}$/;
 return this.optional(element) || (tel.test(value));
}, "請(qǐng)正確填寫(xiě)您的郵政編碼"); 
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
<script src="js/jquery.validate.js"></script>
<script src="js/validate.expand.js"></script>
<script>
 $().ready(function() {
  $("#registerForm").validate({
   rules : {
    zipCode : {
     required : true,//對(duì)于required的提示語(yǔ)句沒(méi)有進(jìn)行任何的處理,他會(huì)使用默認(rèn)的英文的提示。
     isZipCode : true//isZipCode為自定義的驗(yàn)證規(guī)則
    }
   },
   messages : {//當(dāng)你不寫(xiě)提示語(yǔ)句,他會(huì)使用方法返回的提示。
    zipCode : {
     isZipCode : '請(qǐng)輸入正確的郵編'
    }
   }
  });
 });
</script>
<style>
#registerForm label.error {
 margin-left: 10px;
 color: red;
}
</style>
</head>
<body>
 <form id="registerForm" method="get" action="">
  <fieldset>
   <p>
    <label for="czipCode">中國(guó)郵編</label> 
    <input id="czipCode" name="zipCode" />
   </p>
   <p>
    <input type="submit" value="提交">
   </p>
  </fieldset>
 </form>
</body>
</html> 

 接下來(lái),就要好好說(shuō)說(shuō)jQuery.validator.addMethod() 這個(gè)方法,這個(gè)方法一共有三個(gè)參數(shù)。

第一個(gè)參數(shù) :“isZipCode” 是定義方法名,必須保證方法名唯一。

第二個(gè)參數(shù):是一個(gè)回調(diào)(callback)函數(shù)。

  這個(gè)回調(diào)函數(shù)有三個(gè)參數(shù):

    第一個(gè):value ,是當(dāng)前被驗(yàn)證的元素的值。

    第二個(gè):element,是當(dāng)前被驗(yàn)證的元素。

    第三個(gè):param,是傳入的參數(shù),例如: minlength : 6  里的參數(shù)為6;  rangelength:[2,10]  里的參數(shù)為2和10。當(dāng)你沒(méi)有傳入?yún)?shù),這個(gè)可以省略不寫(xiě)。

    在這個(gè)回調(diào)函數(shù)里有一個(gè)this.optional(element)函數(shù)要特別注意。當(dāng)表單的輸入值為空時(shí),即element的值為空,this.optional(element)的返回值為true,類(lèi)似于判空操作,也就是說(shuō)該表單輸入項(xiàng)不是必填項(xiàng),當(dāng)不填時(shí)通過(guò)了驗(yàn)證。如果element的值不為空,this.optional(element)的返回值就是false,這時(shí)就要根據(jù)  ||  后面的驗(yàn)證來(lái)判斷最終的返回為true 或false。所以當(dāng)某個(gè)輸入項(xiàng)不是必填項(xiàng)但如果填寫(xiě)了又需要按照一定的規(guī)則來(lái)驗(yàn)證的時(shí)候,一定要記得帶上this.optional(element)。

第三個(gè)參數(shù):驗(yàn)證的提示信息。

  這個(gè)參數(shù)可以直接是一句提示信息,例如,"這是必填字段";也可以通過(guò)創(chuàng)建函數(shù)jQuery.validator.format(value)來(lái)顯示,例如,$.validator.format("請(qǐng)輸入長(zhǎng)度在 {0} 到 {1} 之間的字符串"),其中 {0} {1} 代表該方法的參數(shù),也就是回調(diào)(callback)函數(shù)里的第三個(gè)參數(shù)param。

官網(wǎng)提供的additional-methods.js里包含一些常用的驗(yàn)證方式,比如lettersonly,ziprange,nowhitespace等,但我粗略的看了一下,發(fā)現(xiàn)大部分只是僅供參考,實(shí)用性不強(qiáng),不能直接使用。

我整理了幾個(gè)網(wǎng)上找到的驗(yàn)證規(guī)則,當(dāng)然也僅供參考。驗(yàn)證規(guī)則的核心就是正則表達(dá)式,這個(gè)得學(xué)。

// 郵政編碼驗(yàn)證 
jQuery.validator.addMethod("isZipCode", function(value, element) {
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, "請(qǐng)正確填寫(xiě)您的郵政編碼");
// 手機(jī)號(hào)碼驗(yàn)證 
jQuery.validator.addMethod("mobile", function(value, element) { 
var length = value.length;
var mobile = /^(13[0-9]|14[0-9]|15[0-9]|18[0-9])\d{8}$/;
return this.optional(element) || (length == 11 && mobile.test(value)); 
}, "手機(jī)號(hào)碼格式錯(cuò)誤"); 
// QQ號(hào)碼驗(yàn)證 
jQuery.validator.addMethod("qq", function(value, element) { 
var tel = /^[1-9]\d{4,10}$/; 
return this.optional(element) || (tel.test(value)); 
}, "qq號(hào)碼格式錯(cuò)誤"); 
// IP地址驗(yàn)證 
jQuery.validator.addMethod("ip", function(value, element) { 
var ip = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; 
return this.optional(element) || (ip.test(value) && (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256)); 
}, "Ip地址格式錯(cuò)誤"); 
// 字母和數(shù)字的驗(yàn)證 
jQuery.validator.addMethod("chrnum", function(value, element) { 
var chrnum = /^([a-zA-Z0-9]+)$/; 
return this.optional(element) || (chrnum.test(value)); 
}, "只能輸入數(shù)字和字母(字符A-Z, a-z, 0-9)"); 
// 中文的驗(yàn)證 
jQuery.validator.addMethod("chinese", function(value, element) { 
var chinese = /^[\u4e00-\u9fa5]+$/; 
return this.optional(element) || (chinese.test(value)); 
}, "只能輸入中文"); 

如果有什么地方寫(xiě)錯(cuò)了或者寫(xiě)的不夠好,希望大大們能提出來(lái)。還有,歡迎留言評(píng)論,一起學(xué)習(xí)。

相關(guān)文章

  • jquery二級(jí)導(dǎo)航內(nèi)容均分的原理及實(shí)現(xiàn)

    jquery二級(jí)導(dǎo)航內(nèi)容均分的原理及實(shí)現(xiàn)

    頭部導(dǎo)航二級(jí)導(dǎo)航有些內(nèi)容太長(zhǎng),一列的話太過(guò)難看,就要分成兩列,要做到按塊盡量均分,排列順序沒(méi)有限制
    2013-08-08
  • Jquery定義對(duì)象(閉包)與擴(kuò)展對(duì)象成員的方法

    Jquery定義對(duì)象(閉包)與擴(kuò)展對(duì)象成員的方法

    這篇文章介紹了Jquery定義對(duì)象(閉包)與擴(kuò)展對(duì)象成員的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • jQuery EasyUI常用數(shù)據(jù)驗(yàn)證匯總

    jQuery EasyUI常用數(shù)據(jù)驗(yàn)證匯總

    這篇文章主要為大家詳細(xì)匯總了jQuery EasyUI常用數(shù)據(jù)驗(yàn)證,介紹了validatebox()提供的自定義驗(yàn)證,感興趣的小伙伴們可以參考一下
    2016-09-09
  • jQuery實(shí)現(xiàn)菜單的顯示和隱藏功能示例

    jQuery實(shí)現(xiàn)菜單的顯示和隱藏功能示例

    這篇文章主要介紹了jQuery實(shí)現(xiàn)菜單的顯示和隱藏功能,結(jié)合實(shí)例形式分析了jQuery基于事件響應(yīng)及css方法動(dòng)態(tài)改變菜單樣式的相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • 基于jQuery中ajax的相關(guān)方法匯總(必看篇)

    基于jQuery中ajax的相關(guān)方法匯總(必看篇)

    下面小編就為大家?guī)?lái)一篇基于基于jQuery中ajax的相關(guān)方法匯總。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 使用EVAL處理jqchart jquery 折線圖返回?cái)?shù)據(jù)無(wú)效的解決辦法

    使用EVAL處理jqchart jquery 折線圖返回?cái)?shù)據(jù)無(wú)效的解決辦法

    eval函數(shù)可以把一些處理過(guò)程序代碼進(jìn)行解析從而達(dá)到可以執(zhí)行的一個(gè)狀態(tài),本篇文章給大家介紹使用eval處理jqchart jquery折線圖返回?cái)?shù)據(jù)無(wú)效的解決辦法,對(duì)jqchart jquery相關(guān)內(nèi)容感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • jQuery實(shí)現(xiàn)伸展與合攏panel的方法

    jQuery實(shí)現(xiàn)伸展與合攏panel的方法

    這篇文章主要介紹了jQuery實(shí)現(xiàn)伸展與合攏panel的方法,可實(shí)現(xiàn)操作div層的平滑收縮與展開(kāi)的功能,涉及jQuery中next、slideUp、slideDown等方法的使用技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-04-04
  • JQuery動(dòng)畫(huà)和停止動(dòng)畫(huà)實(shí)例代碼

    JQuery動(dòng)畫(huà)和停止動(dòng)畫(huà)實(shí)例代碼

    實(shí)例中涉及到使用動(dòng)畫(huà)方法animate,動(dòng)畫(huà)停止方法Stop,其他詳情在示例代碼中都有注釋。
    2013-03-03
  • jQuery中 $ 符號(hào)的沖突問(wèn)題及解決方案

    jQuery中 $ 符號(hào)的沖突問(wèn)題及解決方案

    在jQuery中,$是jQuery的別名,為了書(shū)寫(xiě)方便,我們更習(xí)慣用$('#id')這一類(lèi)的方式來(lái)書(shū)寫(xiě)代碼。這篇文章給大家分享jQuery中 $ 符號(hào)的沖突問(wèn)題及解決方案,感興趣的朋友一起看看吧
    2016-11-11
  • jquery判斷單選按鈕radio是否選中的方法

    jquery判斷單選按鈕radio是否選中的方法

    這篇文章主要介紹了jquery判斷單選按鈕radio是否選中的方法,實(shí)例分析了加載頁(yè)面時(shí)獲取單選按鈕ID和點(diǎn)擊按鈕時(shí)獲取單選按鈕ID兩種方法,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05

最新評(píng)論

双江| 托里县| 康马县| 楚雄市| 都江堰市| 天津市| 额尔古纳市| 扎囊县| 亚东县| 邵阳县| 宁乡县| 闽清县| 高雄县| 九寨沟县| 贵港市| 新沂市| 城固县| 若尔盖县| 宣恩县| 洞头县| 镇沅| 高唐县| 时尚| 道孚县| 平原县| 措美县| 秭归县| 民勤县| 扬州市| 南城县| 寻甸| 肇源县| 三亚市| 德令哈市| 瑞丽市| 密山市| 日照市| 宾阳县| 报价| 沾化县| 阆中市|