jQuery基于正則表達式的表單驗證功能示例
本文實例講述了jQuery基于正則表達式的表單驗證功能。分享給大家供大家參考,具體如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test</title> <script type="text/javascript" language="javascript" src="jquery-1.7.2.min.js"></script> <script type="text/javascript" language="javascript" > function validata(){ if($("#username").val()==""){ alert("請輸入名字"); return false; } if($("#password").val()==""){ alert("請輸入密碼"); return false; } if($("#telephone").val()==""){ alert("請輸入電話號碼"); } if($("#email").val()==""){ $("#email").val("shuangping@163.com"); } } function isInteger(obj){ reg=/^[-+]?\d+$/; if(!reg.test(obj)){ $("#test").html("<b>Please input correct figures</b>"); }else{ $("#test").html(""); } } function isEmail(obj){ reg=/^\w{3,}@\w+(\.\w+)+$/; if(!reg.test(obj)){ $("#test").html("<b>請輸入正確的郵箱地址</b>"); }else{ $("#test").html(""); } } function isString(obj){ reg=/^[a-z,A-Z]+$/; if(!reg.test(obj)){ $("#test").html("<b>只能輸入字符</b>"); }else{ $("#test").html(""); } } function isTelephone(obj){ reg=/^(\d{3,4}\-)?[1-9]\d{6,7}$/; if(!reg.test(obj)){ $("#test").html("<b>請輸入正確的電話號碼!</b>"); }else{ $("#test").html(""); } } function isMobile(obj){ reg=/^(\+\d{2,3}\-)?\d{11}$/; if(!reg.test(obj)){ $("#test").html("請輸入正確移動電話"); }else{ $("#test").html(""); } } function isUri(obj){ reg=/^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/; if(!reg.test(obj)){ $("#test").html($("#uri").val()+"請輸入正確的inernet地址"); }else{ $("#test").html(""); } } //document加載完畢執(zhí)行 $(document).ready(function() { // do something here //隔行換色功能 $("p").each(function(i){ this.style.color=['red','green','blue','black'][i%2] }); //eq(2)獲取$("p")集合的第3個元素 $("p").eq(2).click(function(){$("#display").css("color","blue")}); //所有test中的p都附加了樣式"over"。 $("#test>p").addClass("over"); //test中的最后一個p附加了樣式"out"。 $("#test p:last").addClass("out"); //選擇同級元素還沒看懂 //$('#faq').find('dd').hide().end().find('dt').click(function() //選擇父級元素 $("a").hover( function(){$(this).parents("p").addClass("out")}, function(){$(this).parents("p").removeClass("out")}) //hover鼠標(biāo)懸停效果,toggle每次點擊時切換要調(diào)用的函數(shù) , //trigger(eventtype): 在每一個匹配的元素上觸發(fā)某類事件, //bind(eventtype,fn),unbind(eventtype): 事件的綁定與反綁定從每一個匹配的元素中(添加)刪除綁定的事件。 //方法的連寫 $("#display").hover(function(){ $(this).addClass("over"); },function(){ $(this).removeClass("over"); }) .click(function(){alert($("#display").text())}); if($.browser.msie){//判斷瀏覽器,若是ie則執(zhí)行下面的功能 //聚焦 $("input[@type=text],textarea,input[@type=password]") .focus(function(){$(this).css({background:"white",border:"1px solid blue"})}) //也可以這樣連著寫, //.blur(function(){$(this).css({background:"white",border:"1px solid black"})}) //失去焦點 //css樣式可以通過addClass()來添加 $("input[@type=text],textarea,input[@type=password]") .blur(function(){$(this).css({background:"white",border:"1px solid black"});}); } }); </script> <style type="text/css"> .over{ font-size:large; font-style:italic; } .out{ font-size:small; } </style> </head> <body > <div id="display">demo</div> <div id="test"> <p>adfa<a>dfasfa</a>sdfasdf</p> <p>adfadfasfasdfasdf</p> <p>adfadfasfasdfasdf</p> <p>adfadfasfasdfasdf</p> </div> <form id="theForm"> isString<div><input type="text" id="username" onblur="isString(this.value)"/></div> isInteger<div><input type="text" id="password" onblur="isInteger(this.value)"/></div> isTelephone<div><input type="text" id="telephone" onblur="isTelephone(this.value)"/></div> isMobile<div><input type="text" id="mobile" onblur="isMobile(this.value)"/></div> isEmail<div><input type="text" id="email" onblur="isEmail(this.value)"/></div> isUri<div><input type="text" id="uri" onblur="isUri(this.value)"/></div> <div><input type="button" value="Validata" onclick="return validata();" /></div> </form> </body> </html>
附:常用的js驗證函數(shù):
網(wǎng)站首頁表單js:
function checkVaild() { var User=$("#Mobile").val(); var reg=/^(\+\d{2,3}\-)?\d{11}$/; if (User=="") { alert("手機號碼不能為空") ; return false; } if(!reg.test(User)){ alert("手機號輸入錯誤") ; return false ; } return true ; }
正則表達式特殊字符的過濾:
function doValidate(value) { vkeyWords=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/; if(value==null || value=="") { alert("請輸入正確的查詢參數(shù)"); return false; } if(!vkeyWords.test(value)) { alert("您輸入的查詢參數(shù)不正確,請重新輸入!"); return false; } return true; }
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于jQuery相關(guān)內(nèi)容可查看本站專題:《jQuery正則表達式用法總結(jié)》、《jQuery字符串操作技巧總結(jié)》、《jQuery操作xml技巧總結(jié)》、《jQuery擴展技巧總結(jié)》、《jquery選擇器用法總結(jié)》及《jQuery常用插件及用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
相關(guān)文章
增強用戶體驗友好性之jquery easyui window 窗口關(guān)閉時的提示
在項目中,客戶提出這么個要求,就是在關(guān)閉彈出的窗口的時候,如果點擊 紅X 或 取消按鈕 則提示 ”確認(rèn)保存了當(dāng)前的操作“ 這么個信息,否則就不提示啦2012-06-06jquery ui dialog里調(diào)用datepicker的問題
一個項目中使用了在dialog中做查詢條件的表單,其中用到了日期作為查詢條件,使用datepicker時總被dialog遮擋住2009-08-08jQuery動態(tài)添加.active 實現(xiàn)導(dǎo)航效果代碼思路詳解
這篇文章主要介紹了jQuery動態(tài)添加.active 實現(xiàn)導(dǎo)航效果代碼思路詳解,需要的朋友可以參考下2017-08-08有關(guān)于eclipse配置spket需要注意的一些地方
用eclipse開發(fā)jquery程序,可以安裝spket插件,這樣在寫代碼的時候,就會有智能感知.eclipse配置spket的文章網(wǎng)上到處都是,spket官網(wǎng)上也有介紹.但配置后有的人無論如何也沒有智能感知提示,我就是其中一個.2013-04-04jQuery綁定事件不執(zhí)行但alert后可以正常執(zhí)行
這篇文章主要為大家解決下為什么jQuery綁定事件不執(zhí)行而alert后可以正常執(zhí)行,需要的朋友可以參考下2014-06-06