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>
相关推荐
在实际使用中,开发者可以通过引入"MS.Framework.Validate"库,定义实体类,并在实体属性上添加对应的校验注解,然后调用校验方法进行验证。如果所有校验规则都通过,那么数据就可以安全地保存或处理;如果有任何一...
在“jq validate校验全集”中,包含的资源通常包括开发文档、API参考以及示例JavaScript代码,这些都是理解和使用该插件的重要参考资料。 1. **开发文档**:开发文档是理解`jq validate`插件功能和用法的关键。它会...
本文将深入探讨该插件的使用方法、特性以及如何实现自定义验证规则。 首先,jQuery validate插件是基于流行的JavaScript库jQuery设计的,它的主要功能是对HTML表单进行实时验证。通过简单的配置,开发者可以轻松地...
在Java后端,你可以使用诸如Spring Validation、Hibernate Validator等工具进行服务器端验证。这些验证框架提供注解方式定义验证规则,例如`@NotBlank`、`@Size`等。当前端提交数据到服务器时,服务器端会再次进行...
JSONedit是一款强大的JSON格式化和校验工具,尤其适合在没有网络环境的条件下,为程序员和工程师提供便利。本文将详细介绍JSONedit的功能、使用方法以及如何在Windows环境下进行离线安装。 **一、JSONedit的功能** ...
本资源提供的"day05_validate"压缩包文件,很可能是关于这两方面内容的实践教程或代码示例。 **前端验证**通常涉及到表单验证,其目的是在用户提交数据前检查输入是否合法。常见的验证规则包括: 1. **非空验证**...
jQuery的表单校验插件`validate`是前端开发中常用的一个工具,它极大地简化了对HTML表单数据的验证过程。这个插件基于流行的JavaScript库jQuery构建,为开发者提供了丰富的选项和方法来定制表单验证规则,确保用户...
本文将深入探讨`java后台注解校验工具类`的相关知识点。 首先,我们来看注解(Annotation)的概念。在Java中,注解是一种元数据,它可以提供有关代码的附加信息,但不直接影响代码的执行。注解通常用于编译器、构建...
EasyUI 是一个基于 jQuery 的前端框架,用于快速构建用户界面。...同时,通过参考博客文章(如提供的链接),可以获取更多关于EasyUI validate使用技巧和实战经验的分享,从而提升开发效率和应用质量。
通过学习和实践这些示例,开发者不仅可以掌握`validate.js`的基本用法,还能了解到如何处理错误提示、如何自定义验证规则,以及如何与其他前端框架(如jQuery、Vue或React)集成。这将极大地提升开发效率,让web应用...
总的来说,"validate方法"是一个涵盖广泛的主题,可能涉及到前端表单验证、后端数据校验、源码分析以及使用各种开发工具进行数据验证的过程。深入理解并掌握validate方法的使用对于提高软件的质量和安全性至关重要。...
以下是安装validate_password插件的详细步骤,以及相关的配置和使用方法。 1. **修改配置文件** 首先,你需要编辑MySQL的配置文件,通常位于`/etc/my.cnf`(根据你的操作系统和安装路径可能有所不同)。使用命令`...
Vue2.0表单校验组件vee-validate的使用详解 vee-validate是一款功能强大且灵活的Vue2.0表单校验组件,提供了多种方式来校验表单数据。这篇文章将详细介绍vee-validate的使用教程,包括安装、基本使用、Validator的...
通过以上介绍,我们可以看到`jQuery Validate`是一个强大且灵活的前端验证工具,它简化了前端表单验证的实现,同时也为开发者提供了丰富的自定义选项,使其能够满足各种项目需求。通过深入研究源码,我们还能学习到...
通过阅读 `前端校验.doc` 文档,我们可以深入理解 `validate.js` 的使用方法,包括如何配置验证规则、如何绑定验证事件、如何处理验证结果等。文档中可能会包含示例代码,帮助我们快速上手。 `validate_samples` ...
jQuery Validate插件是基于jQuery库的一个强大且易用的表单验证工具,它提供了丰富的自定义规则和错误提示方式,使得开发者能够快速实现复杂的表单验证功能。 一、jQuery Validate插件介绍 jQuery Validate插件是...
博文链接指向了iteye网站上的一篇关于`validate`用法的文章,虽然具体内容未给出,但可以推测作者可能分享了如何在实际项目中使用`validate`进行数据验证的经验,包括示例代码和常见问题解决策略。 通过理解和应用...
Hibernate是Java领域中广泛应用的对象关系映射(ORM)框架,它提供了一套强大的数据验证工具——Hibernate Validator,这正是"hibernate的校验框架validate"的核心内容。本文将详细介绍Hibernate Validator及其在...
wechat-form-validate 240行的微信小程序表单验证工具,可以快速实现必填校验、正则校验、自定义校验和异步...大家可以通过this可以直接访问校验方法,使用灵活、便于验证操作。 使用说明 <view class="form-box
### Jquery(Validate-Form)使用方法详解 #### 一、Jquery Validate 概述 Jquery Validate 是一个非常流行的前端表单验证插件,它由 Jörn Zaefferer 编写和维护,他是 jQuery 团队的一员,同时也是 jQuery UI 的...