jQuery基于正则表达式的表单验证功能示例
程序员文章站
2023-11-14 21:07:28
本文实例讲述了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加载完毕执行 $(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鼠标悬停效果,toggle每次点击时切换要调用的函数 , //trigger(eventtype): 在每一个匹配的元素上触发某类事件, //bind(eventtype,fn),unbind(eventtype): 事件的绑定与反绑定从每一个匹配的元素中(添加)删除绑定的事件。 //方法的连写 $("#display").hover(function(){ $(this).addclass("over"); },function(){ $(this).removeclass("over"); }) .click(function(){alert($("#display").text())}); if($.browser.msie){//判断浏览器,若是ie则执行下面的功能 //聚焦 $("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验证函数:
网站首页表单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("请输入正确的查询参数"); return false; } if(!vkeywords.test(value)) { alert("您输入的查询参数不正确,请重新输入!"); return false; } return true; }
ps:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
javascript正则表达式在线测试工具:
正则表达式在线生成工具:
更多关于jquery相关内容可查看本站专题:《jquery正则表达式用法总结》、《jquery字符串操作技巧总结》、《jquery操作xml技巧总结》、《jquery扩展技巧总结》、《jquery选择器用法总结》及《jquery常用插件及用法总结》
希望本文所述对大家jquery程序设计有所帮助。