JQuery 学习—JQuery Validation表单验证范例[通俗易懂]

JQuery Validation表单验证范例

大家好,又见面了,我是全栈君。

jQuery Validato表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)脚本控制。

1:测试的HTML代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
"http://www.w3.org/TR/html4/loose.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
 <head>  
 <meta http-equiv="Content-Type" content="text/html; charset=gbk" />  
 <title>jQuery验证</title>  
 <script src="lib/jquery/jquery-1.3.2.min.js" ></script>  
 <script type="text/javascript" src="lib/jquery/jquery.validate.js" mce_src="lib/jquery/jquery.validate.js"></script>  
 <script type="text/javascript" src="lib/jquery/messages_cn.js"></script>  
 <script type="text/javascript" src="lib/jquery/formValidatorClass.js"></script>  
 <style type="text/css">  
  
 * {  
 font-family: Verdana;  
 font-size: 96%;  
 }  
 label {  
 width: 10em;  
 float: left;  
 }  
 label.error {  
 float: none;  
 color: red;  
 padding-left: .5em;  
 vertical-align: top;  
 }  
 p {  
 clear: both;  
 }  
 .submit {  
 margin-left: 12em;  
 }  
 em {  
 font-weight: bold;  
 padding-right: 1em;  
 vertical-align: top;  
 }  
</style>  
</head>  
<body>  
<form class="submitForm" id="submitForm" method="get" action="">  
<fieldset>  
<legend>表单验证</legend>  
<p>  
<label for="username">用户名</label>  
<em>*</em><input id="userName" name="username" size="25" />  
</p>  
<p>  
<label for="email">E-Mail</label>  
<em>*</em><input id="email" name="email" size="25" />  
</p>  
<p>  
<label for="phone">联系电话</label>  
<em>*</em><input id="phone" name="phone" size="25" value="" />  
</p>  
<p>  
<label for="address">地址</label>  
<em>*</em><input id="address" name="address" size="22">  
</p>  
<input class="submit" type="submit" value="提交"/>  
</p>  
</fieldset>  
</form>  
</body>  
</html>  

2:Jquery 代码

/** 
 * @author aflyun 
 */  
$(document).ready(function(){  
  
/* 设置默认属性 */  
$.validator.setDefaults({  
submitHandler: function(form) {  
form.submit();  
}  
});  
  
// 字符验证   
jQuery.validator.addMethod("stringCheck", function(value, element) {  
return this.optional(element) || /^[u0391-uFFE5w]+$/.test(value);         
}, "只能包括中文字、英文字母、数字和下划线");  
  
// 中文字两个字节   
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {  
 var length = value.length;  
 for(var i = 0; i < value.length; i++){  
 if(value.charCodeAt(i) > 127){  
 length++;  
 }  
 }  
 return this.optional(element) || ( length >= param[0] && length <= param[1] );  
}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");  
  
// 身份证号码验证   
jQuery.validator.addMethod("isIdCardNo", function(value, element) {  
 return this.optional(element) || isIdCardNo(value);  
}, "请正确输入您的身份证号码");  
  
// 手机号码验证   
jQuery.validator.addMethod("isMobile", function(value, element) {  
 var length = value.length;  
 var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/;  
 return this.optional(element) || (length == 11 && mobile.test(value));  
}, "请正确填写您的手机号码");  
  
// 电话号码验证   
jQuery.validator.addMethod("isTel", function(value, element) {  
 var tel = /^d{3,4}-?d{7,9}$/; //电话号码格式010-12345678   
 return this.optional(element) || (tel.test(value));  
}, "请正确填写您的电话号码");  
  
// 联系电话(手机/电话皆可)验证   
jQuery.validator.addMethod("isPhone", function(value,element) {  
 var length = value.length;  
 var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/;  
 var tel = /^d{3,4}-?d{7,9}$/;  
 return this.optional(element) || (tel.test(value) || mobile.test(value));  
  
}, "请正确填写您的联系电话");  
  
// 邮政编码验证   
jQuery.validator.addMethod("isZipCode", function(value, element) {  
 var tel = /^[0-9]{6}$/;  
 return this.optional(element) || (tel.test(value));  
}, "请正确填写您的邮政编码");  
  
//开始验证   
$('#submitForm').validate({  
 /* 设置验证规则 */  
 rules: {  
 username: {  
 required:true,  
 stringCheck:true,  
 byteRangeLength:[3,15]  
 },  
 email:{  
 required:true,  
 email:true  
 },  
 phone:{  
 required:true,  
 isPhone:true  
 },  
 address:{  
 required:true,  
 stringCheck:true,  
 byteRangeLength:[3,100]  
 }  
 },  
  
 /* 设置错误信息 */  
 messages: {  
 username: {  
 required: "请填写用户名",  
 stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",  
 byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"  
 },  
 email:{  
 required: "请输入一个Email地址",  
 email: "请输入一个有效的Email地址"  
 },  
 phone:{  
 required: "请输入您的联系电话",  
 isPhone: "请输入一个有效的联系电话"  
 },  
 address:{  
 required: "请输入您的联系地址",  
 stringCheck: "请正确输入您的联系地址",  
 byteRangeLength: "请详实您的联系地址以便于我们联系您"  
 }  
 },  
  
 /* 设置验证触发事件 */  
 focusInvalid: false,  
 onkeyup: false,  
  
 /* 设置错误信息提示DOM */  
 errorPlacement: function(error, element) {  
 error.appendTo( element.parent());  
 },  
  
});  
  
});  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121264.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月24日 下午6:00
下一篇 2022年2月24日 下午7:00


相关推荐

  • 怎样从数组中删除给定元素_java数组包含某个元素

    怎样从数组中删除给定元素_java数组包含某个元素packageday21;importjava.util.Scanner;//调用Scanner一个简单的文本扫描器importstaticnet.mindview.util.Print.*;importjava.util.Random;publicclassShow{publicstaticvoidmain(String[]args){int[]a={0,1,2,3};for(inti:a).

    2022年8月10日
    13
  • vue链接转二维码_vue二维码识别

    vue链接转二维码_vue二维码识别安装npminstallqrcodejs2–save引入&amp;lt;template&amp;gt;&amp;lt;divid=&quot;qrcode&quot;ref=&quot;qrcode&quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/template&amp;gt;&amp;lt;scrip

    2025年9月22日
    10
  • angular.Js_力量提供者

    angular.Js_力量提供者点击查看AngularJS系列目录转载请注明出处:http://www.cnblogs.com/leosx/每个Web应用程序都是有多个对象组合、协作来完成任务的。这些对象需要被实例化,并且连接在一

    2022年8月5日
    10
  • goland激活码【2021免费激活】

    (goland激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    989
  • 学生成绩管理系统——JAVA

    学生成绩管理系统——JAVA学生成绩管理系统1.简介本学生成绩管理系统具有录入学生成绩、查询学生成绩、输出学生按成绩的排名、输出学科的分数四个功能,其中后两个功能在“输出成绩”这一目录下。此系统可以实现学生成绩管理的一些基本操作。1.1各模块功能简介录入成绩输入若干同学的学号、姓名以及四个科目的成绩(应用数学、大学英语、Java程序设计、计算机应用基础),并将其保存在建立好的数据库中。查询成绩进入该模块后,输入想要查询成绩的学生姓名,即可在数据库中检索该学生的成绩信息并输出其各科成绩。输出成绩该模块主要分为两

    2022年7月13日
    18
  • 如何在pycharm中安装selenium「建议收藏」

    如何在pycharm中安装selenium「建议收藏」发现问题:出现未解析引用解决问题:打开设置中的项目,可以看到没有安装selenium库点击+号搜索selenium并安装包

    2022年8月28日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号