最常用的jQuery表單驗(yàn)證(簡(jiǎn)單)
廢話不多說(shuō)了,直接給大家貼代碼了,具體代碼如下所示:
<script type="text/javascript"> //<![CDATA[ $(function(){ /* *思路大概是先為每一個(gè)required添加必填的標(biāo)記,用each()方法來(lái)實(shí)現(xiàn)。 *在each()方法中先是創(chuàng)建一個(gè)元素。然后通過(guò)append()方法將創(chuàng)建的元素加入到父元素后面。 *這里面的this用的很精髓,每一次的this都對(duì)應(yīng)著相應(yīng)的input元素,然后獲取相應(yīng)的父元素。 *然后為input元素添加失去焦點(diǎn)事件。然后進(jìn)行用戶名、郵件的驗(yàn)證。 *這里用了一個(gè)判斷is(),如果是用戶名,做相應(yīng)的處理,如果是郵件做相應(yīng)的驗(yàn)證。 *在jQuery框架中,也可以適當(dāng)?shù)拇┎逡粚?xiě)原汁原味的javascript代碼。比如驗(yàn)證用戶名中就有this.value,和this.value.length。對(duì)內(nèi)容進(jìn)行判斷。 *然后進(jìn)行的是郵件的驗(yàn)證,貌似用到了正則表達(dá)式。 *然后為input元素添加keyup事件與focus事件。就是在keyup時(shí)也要做一下驗(yàn)證,調(diào)用blur事件就行了。用triggerHandler()觸發(fā)器,觸發(fā)相應(yīng)的事件。 *最后提交表單時(shí)做統(tǒng)一驗(yàn)證 *做好整體與細(xì)節(jié)的處理 */ //如果是必填的,則加紅星標(biāo)識(shí). $("form :input.required").each(function(){ var $required = $("<strong class='high'> *</strong>"); //創(chuàng)建元素 $(this).parent().append($required); //然后將它追加到文檔中 }); //文本框失去焦點(diǎn)后 $('form :input').blur(function(){ var $parent = $(this).parent(); $parent.find(".formtips").remove(); //驗(yàn)證用戶名 if( $(this).is('#username') ){ if( this.value=="" || this.value.length < 6 ){ var errorMsg = '請(qǐng)輸入至少6位的用戶名.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var okMsg = '輸入正確.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } } //驗(yàn)證郵件 if( $(this).is('#email') ){ if( this.value=="" || ( this.value!="" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value) ) ){ var errorMsg = '請(qǐng)輸入正確的E-Mail地址.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var okMsg = '輸入正確.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } } }).keyup(function(){ $(this).triggerHandler("blur"); }).focus(function(){ $(this).triggerHandler("blur"); });//end blur //提交,最終驗(yàn)證。 $('#send').click(function(){ $("form :input.required").trigger('blur'); var numError = $('form .onError').length; if(numError){ return false; } alert("注冊(cè)成功,密碼已發(fā)到你的郵箱,請(qǐng)查收."); }); //重置 $('#res').click(function(){ $(".formtips").remove(); }); }) //]]> </script>
以上所述是小編給大家介紹的最常用的jQuery表單驗(yàn)證(簡(jiǎn)單),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
jquery 構(gòu)造函數(shù)在表單提交過(guò)程中修改數(shù)據(jù)
這篇文章主要介紹了jquery 構(gòu)造函數(shù)在表單提交過(guò)程中修改數(shù)據(jù)的方法,十分簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-05-05jQuery的中 is('':visible'') 解析及用法(必看)
下面小編就為大家?guī)?lái)一篇jQuery的中 is(':visible') 解析及用法(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02基于PHP和Mysql相結(jié)合使用jqGrid讀取數(shù)據(jù)并顯示
jqGrid可以動(dòng)態(tài)讀取和加載外部數(shù)據(jù),本文將結(jié)合PHP和Mysql給大家講解如何使用jqGrid讀取數(shù)據(jù)并顯示,以及可以通過(guò)輸入關(guān)鍵字查詢數(shù)據(jù)的ajax交互過(guò)程2015-12-12JQuery實(shí)現(xiàn)文字無(wú)縫滾動(dòng)效果示例代碼(Marquee插件)
本篇文章主要介紹了JQuery實(shí)現(xiàn)文字無(wú)縫滾動(dòng)效果示例代碼(Marquee插件),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03用jQuery的AJax實(shí)現(xiàn)異步訪問(wèn)、異步加載
這篇文章主要介紹了用jQuery的AJax實(shí)現(xiàn)異步訪問(wèn)、異步加載,jQuery的ajax異步實(shí)現(xiàn)數(shù)據(jù)交互的相關(guān)技巧,并提供了完整示例demo供讀者參考,需要的朋友可以參考下2016-11-11jQuery焦點(diǎn)圖切換特效插件封裝實(shí)例
這篇文章介紹了jQuery焦點(diǎn)圖切換特效插件封裝實(shí)例,有需要的朋友可以參考一下2013-08-08