`
mohaowen1989
  • 浏览: 4173 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于validate校验工具的用法

阅读更多

jQuery.validate是一款非常不错的表单验证工具,简单易上手,而且能达到很好的体验效果

 

一、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/(注意下载最新版)
API: http://jquery.bassistance.de/api-browser/plugins.html当前版本:1.5.5
需要JQuery版本:1.2.6+, 兼容 1.3.2

<script src="../js/jquery.js" type="text/javascript"></script>
< script src="../js/jquery.validate.js" type="text/javascript"></script>
二、默认校验规则
(1)required:true 必输字段
(2)remote:"check.php" 使用ajax方法调用check.php验证输入值
(3)email:true 必须输入正确格式的电子邮件
(4)url:true 必须输入正确格式的网址
(5)date:true 必须输入正确格式的日期
(6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(7)number:true 必须输入合法的数字(负数,小数)
(8)digits:true 必须输入整数
(9)creditcard: 必须输入合法的信用卡号
(10)equalTo:"#field" 输入值必须和#field相同
(11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀)
(12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符)
(13)minlength:10 输入长度最小是10的字符串(汉字算一个字符)
(14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(15)range:[5,10] 输入值必须介于 5 和 10 之间
(16)max:5 输入值不能大于5
(17)min:10 输入值不能小于10

 

废话不多说,直接看代码

1.HTML 页面代码

<form id="register_form" class="form-horizontal" name="register_form" method="post" action="register.htm?cmd=register" enctype="application/x-www-form-urlencoded">
					<input type="hidden" id="recommenderId" name="recommenderId" value="$!recommenderId"/>
						<div class="control-group">
							<label class="control-label" for="inputUserName">用户名</label>
							<div class="controls">
								<input type="text" id="inputUserName" name="userName" autocomplete="off"/>
							</div>
						</div>
						<div class="control-group">
							<label class="control-label" for="inputPassword">密码</label>
							<div class="controls">
								<input type="password" id="inputPassword" name="password" autocomplete="off"/>
							</div>
						</div>
						<div class="control-group">
							<label class="control-label" for="inputRepassword">重复密码</label>
							<div class="controls">
								<input type="password" id="inputRepassword" name="repassword" autocomplete="off"/>
							</div>
						</div>
						<div class="control-group">
							<label class="control-label" for="inputPhoneNumber">手机号码</label>
							<div class="controls">
								<input type="text" class="u" id="inputPhoneNumber" name="phoneNumber"/>
								<span class="help-inline">
									<button class="btn btn-small" id="send" type="button" autocomplete="off">发送手机验证码</button>
								</span>
							</div>
						</div>
						<div class="control-group">
							<label class="control-label" for="inputVcode">手机验证码</label>
							<div class="controls">
								<input type="text" id="inputVcode" name="phoneVerifyCode" autocomplete="off"/>
							</div>
						</div>

				</form>

 

2.页面的图片

 

 

 

 

3.javaScript的代码

 

	<script type="text/javascript">
		$(document).ready(function(){
			$("#inputUserName").focus();
			#parse("/common/showErrors.vm")
		});
		var keywords = ['管理员', 'admin'];
		jQuery.validator.addMethod('isSpecialUserName', function(userName) {
			userName = userName.trim().toLowerCase();
			for(var key in keywords){
				var t = userName.indexOf(keywords[key]) > -1;
				if(t) return false;
			}
		    return true;
		}, '用户名不能包含敏感字符,如"管理员"、"admin");

		jQuery.validator.addMethod('isExistUserName', function(userName) {
			var url = "register.htm?time=" + new Date().getTime();
			var data = {
				"cmd" : "checkUsername",
				"userName" : userName.trim()
			};
			var flag;
			jQuery.ajax({
				type:"POST",
				url:url,
				data:data,
				async: false,
				dataType:"text",
				success:function(data){
					flag = (data == 'true')? true:false;
				}
			});
			return flag;
		}, '用户名已注册');

		jQuery.validator.addMethod('isPhoneNumber', function(phoneNumber) {
			phoneNumber = phoneNumber.trim();
			var regex = new RegExp("^(13[0-9]|15[012356789]|18[012356789]|14[57]|17[0])[0-9]{8}$");
		    return regex.test(phoneNumber);
		}, '手机号码格式错误');

		jQuery.validator.addMethod('isExistPhoneNumber', function(phoneNumber) {
			var url = "register.htm?time=" + new Date().getTime();
			var data = {
					"cmd" : "checkPhoneNumber",
					"phoneNumber" : phoneNumber.trim()
			};
			var flag;
			jQuery.ajax({
				type:"POST",
				url:url,
				data:data,
				async: false,
				dataType:"text",
				success:function(data){
					flag = (data == 'true')? true:false;
				}
			});
			/*
			if(flag){
				var temp = $('#send').html().trim();
				if(temp =='发送手机验证码'){
					$('#send').removeAttr('disabled');
				}
			}else{
				$('#send').attr('disabled','disabled');
			}
			*/
			return flag;
		}, '手机号码已注册');

		jQuery.validator.addMethod('isPassword', function(password) {
			password = password.trim();
			var regex1 = new RegExp("^[0-9]*$");
			var regex2 = new RegExp("^[a-zA-Z]*$");
		    return !(regex1.test(password) || regex2.test(password));
		}, '密码不能是纯数字或纯字母');

		jQuery.validator.addMethod('isRepassword', function(repassword) {
			repassword = repassword.trim();
			var password = $("#inputPassword").val().trim();
		    return repassword == password;
		}, '重复密码和密码不一致');

		jQuery.validator.addMethod('isNumber', function(phoneVerifyCode) {
			phoneVerifyCode = phoneVerifyCode.trim();
			var regex = new RegExp("^[0-9]*$");
			var flag = regex.test(phoneVerifyCode);
			return flag;
		}, '手机验证码必须是纯数字');

		$('#register_form').validate({
			rules:{
				userName: {
					required: true,
					minlength: 2,
					maxlength: 16,
					isSpecialUserName: 'isSpecialUserName',
					isExistUserName: 'isExistUserName'
				},
				phoneNumber: {
					required: true,
					isPhoneNumber: 'isPhoneNumber',
					isExistPhoneNumber: 'isExistPhoneNumber'
				},
				password: {
					required: true,
					minlength: 6,
					maxlength: 16,
					isPassword:'isPassword'
				},
				repassword: {
					required: true,
					isRepassword:'isRepassword'
				},
				phoneVerifyCode: {
					required: true,
					rangelength:[6,6],
					isNumber: 'isNumber'
				}
			},
			messages: {
				userName: {
					required : '用户名必填',
					minlength: '用户名长度最少{0}位',
					maxlength: '用户名长度最多{0}位'
				},
				phoneNumber: {
					required : '手机号码必填'
				},
				password: {
					required: '密码必填',
					minlength: '密码长度最少{0}位',
					maxlength: '密码长度最多{0}位'
				},
				repassword: {
					required: '重复密码必填'
				},
				phoneVerifyCode: {
					required: '手机验证码必填',
					rangelength: '手机验证码长度必须是{0}位'
				}
			}
		});


		$('#send').click(function(){
			var jSelf = $(this);
			jSelf.html('<i class="icon-spinner icon-spin"></i> 发送中...');
			var jIpn = $('#inputPhoneNumber');
			var phoneSender = new PhoneSender({
				validator: function(){
					return !jSelf.attr('disabled') && jIpn.valid();
				},
				sent: function(msg){
					var dc = new DelayCountdown(1000,60,'发送手机验证码');
					dc.start(jSelf);
					alert(msg);
				},
				params:{
					phoneNumber : jIpn.val()
				}
			});
			phoneSender.send();
		});
	</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 9.2 KB
分享到:
评论

相关推荐

    Framework.Validate通用实体校验组件

    在实际使用中,开发者可以通过引入"MS.Framework.Validate"库,定义实体类,并在实体属性上添加对应的校验注解,然后调用校验方法进行验证。如果所有校验规则都通过,那么数据就可以安全地保存或处理;如果有任何一...

    jq validate校验全集

    在“jq validate校验全集”中,包含的资源通常包括开发文档、API参考以及示例JavaScript代码,这些都是理解和使用该插件的重要参考资料。 1. **开发文档**:开发文档是理解`jq validate`插件功能和用法的关键。它会...

    jquery的validate表单校验插件

    本文将深入探讨该插件的使用方法、特性以及如何实现自定义验证规则。 首先,jQuery validate插件是基于流行的JavaScript库jQuery设计的,它的主要功能是对HTML表单进行实时验证。通过简单的配置,开发者可以轻松地...

    java使用jquery_validate插件实现文本校验

    在Java后端,你可以使用诸如Spring Validation、Hibernate Validator等工具进行服务器端验证。这些验证框架提供注解方式定义验证规则,例如`@NotBlank`、`@Size`等。当前端提交数据到服务器时,服务器端会再次进行...

    jsonedit格式化 校验工具 离线工具安装包

    JSONedit是一款强大的JSON格式化和校验工具,尤其适合在没有网络环境的条件下,为程序员和工程师提供便利。本文将详细介绍JSONedit的功能、使用方法以及如何在Windows环境下进行离线安装。 **一、JSONedit的功能** ...

    前端validate校验和响应式布局

    本资源提供的"day05_validate"压缩包文件,很可能是关于这两方面内容的实践教程或代码示例。 **前端验证**通常涉及到表单验证,其目的是在用户提交数据前检查输入是否合法。常见的验证规则包括: 1. **非空验证**...

    jQuery的表单校验插件validate

    jQuery的表单校验插件`validate`是前端开发中常用的一个工具,它极大地简化了对HTML表单数据的验证过程。这个插件基于流行的JavaScript库jQuery构建,为开发者提供了丰富的选项和方法来定制表单验证规则,确保用户...

    java后台注解校验工具类

    本文将深入探讨`java后台注解校验工具类`的相关知识点。 首先,我们来看注解(Annotation)的概念。在Java中,注解是一种元数据,它可以提供有关代码的附加信息,但不直接影响代码的执行。注解通常用于编译器、构建...

    EasyUI validate js校验规则文件

    EasyUI 是一个基于 jQuery 的前端框架,用于快速构建用户界面。...同时,通过参考博客文章(如提供的链接),可以获取更多关于EasyUI validate使用技巧和实战经验的分享,从而提升开发效率和应用质量。

    web开发校验validate.js

    通过学习和实践这些示例,开发者不仅可以掌握`validate.js`的基本用法,还能了解到如何处理错误提示、如何自定义验证规则,以及如何与其他前端框架(如jQuery、Vue或React)集成。这将极大地提升开发效率,让web应用...

    validate方法

    总的来说,"validate方法"是一个涵盖广泛的主题,可能涉及到前端表单验证、后端数据校验、源码分析以及使用各种开发工具进行数据验证的过程。深入理解并掌握validate方法的使用对于提高软件的质量和安全性至关重要。...

    mysql 安装密码校验插件validate_password.docx

    以下是安装validate_password插件的详细步骤,以及相关的配置和使用方法。 1. **修改配置文件** 首先,你需要编辑MySQL的配置文件,通常位于`/etc/my.cnf`(根据你的操作系统和安装路径可能有所不同)。使用命令`...

    Vue2.0表单校验组件vee-validate的使用详解

    Vue2.0表单校验组件vee-validate的使用详解 vee-validate是一款功能强大且灵活的Vue2.0表单校验组件,提供了多种方式来校验表单数据。这篇文章将详细介绍vee-validate的使用教程,包括安装、基本使用、Validator的...

    jquery validate 自动绑定校验规则

    通过以上介绍,我们可以看到`jQuery Validate`是一个强大且灵活的前端验证工具,它简化了前端表单验证的实现,同时也为开发者提供了丰富的自定义选项,使其能够满足各种项目需求。通过深入研究源码,我们还能学习到...

    前台数据校验--validate.js

    通过阅读 `前端校验.doc` 文档,我们可以深入理解 `validate.js` 的使用方法,包括如何配置验证规则、如何绑定验证事件、如何处理验证结果等。文档中可能会包含示例代码,帮助我们快速上手。 `validate_samples` ...

    jquery validate校验

    jQuery Validate插件是基于jQuery库的一个强大且易用的表单验证工具,它提供了丰富的自定义规则和错误提示方式,使得开发者能够快速实现复杂的表单验证功能。 一、jQuery Validate插件介绍 jQuery Validate插件是...

    validate 的用法

    博文链接指向了iteye网站上的一篇关于`validate`用法的文章,虽然具体内容未给出,但可以推测作者可能分享了如何在实际项目中使用`validate`进行数据验证的经验,包括示例代码和常见问题解决策略。 通过理解和应用...

    hibernate的校验框架validate后端验证

    Hibernate是Java领域中广泛应用的对象关系映射(ORM)框架,它提供了一套强大的数据验证工具——Hibernate Validator,这正是"hibernate的校验框架validate"的核心内容。本文将详细介绍Hibernate Validator及其在...

    wechat-form-validate:只有240行的微信小程序表单验证工具,可实现必填校验、正则校验、自定义校验和异步校验

    wechat-form-validate 240行的微信小程序表单验证工具,可以快速实现必填校验、正则校验、自定义校验和异步...大家可以通过this可以直接访问校验方法,使用灵活、便于验证操作。 使用说明 &lt;view class="form-box

    Jquery(Validate-Form)使用方法[张振华.Jack]

    ### Jquery(Validate-Form)使用方法详解 #### 一、Jquery Validate 概述 Jquery Validate 是一个非常流行的前端表单验证插件,它由 Jörn Zaefferer 编写和维护,他是 jQuery 团队的一员,同时也是 jQuery UI 的...

Global site tag (gtag.js) - Google Analytics