jQuery Validate插件实现表单强大的验证功能


Posted in Javascript onDecember 18, 2015

jQuery Validate插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。

第一节:jQuery Validation让验证变得如此容易

一、官网下载jquery,和jquery validation plugin
二、引入文件

<script src="js/jquery-1.8.0.min.js" type="text/javascript"></script> 
<script src="js/jquery.validate.js" type="text/javascript"></script>

三、接下来,声明下面的HTML片段

<form action="" id="jvForm"> 
 姓名:<input type="text" name="username" id="username" class="required" /></br> 
 密码:<input type="password" name="password" id="password" class="required"/></br> 
 <input type="submit" value="提交" /> 
</form>

通过以上代码,大家会发现我们对于每一个input都加上了class="required"
他的作用就是在这个inpute标签为空时会提示用户出错。
四、最后我们要为我们的框架找到一个切入点

<script type="text/javascript"> 
 $(function() { 
  $("#jvForm").validate(); 
 }) 
</script>

运行效果如下

jQuery Validate插件实现表单强大的验证功能 

当然提示信息默认是英文的,可根据需要在jquery.validate.js里修改。

第二节:jQuery Validation让验证变得如此容易

上一个例子我们是统一引用jquery.validate.js这样所有必填字段的提示信息都将是This field is required.
现在要改成动态提示,比如姓名如果为空则提示姓名不能为空,密码如果为空则提示密码不能为空。
这次我们将校验规则写在代码里
首先还是先引入文件

<script src="js/jquery-1.8.0.min.js" type="text/javascript"></script> 
<script src="js/jquery.validate.js" type="text/javascript"></script>

接下来,声明下面的HTML片段

<form action="" id="jvForm"> 
 姓名:<input type="text" name="username" id="username" /></br> 
 密码:<input type="password" name="password" id="password" /></br> 
 <input type="submit" value="提交" /> 
</form>

和之前的相比没有了class="required"
最后 校验规则如下:

$(function() { 
 $("#jvForm").validate({ 
  rules: { 
   username: { 
    required: true 
   }, 
   password: { 
    required: true 
   } 
  }, 
  messages: { 
   username: { 
    required: "姓名不能为空!" 
   }, 
   password: { 
    required: "密码不能为空!" 
   } 
  } 
 }); 
})

运行效果如下

jQuery Validate插件实现表单强大的验证功能 

第三节:jQuery Validation让验证变得如此容易

以下代码进行对jQuery Validation的简单演示包括必填项、字符长度,格式验证
一、引入文件

<script src="js/jquery-1.8.0.min.js" type="text/javascript"></script> 
<script src="js/jquery.validate.js" type="text/javascript"></script>

二、声明HTML片段

<form action="" id="jvForm"> 
  用 户 名:<input type="text" name="username"/></br> 
  密 码:<input type="password" name="password" id="password"/></br> 
  确认密码:<input type="password" name="confirm_password"/></br> 
  出 生 地:<select name="address"><option value="">--</option><option value="1">北京</option> 
 <option value="1">上海</option><option value="1">深圳</option></select></br> 
  手 机:<input type="text" name="mobile" /></br> 
  邮 箱:<input type="text" name="email" /></br> 
  <input type="submit" value="提交" /> 
</form>

三、错误提示样式

<style type="text/css"> 
 label.error{font-size:12px;font-weight: normal;color:#ff0511;margin-left:10px;} 
</style>

四、验证代码

<script type = "text/javascript"> 
$(function() { 
 $("#jvForm").validate({ 
  rules: { 
   username: { //用户名必填 至少3位 
    required: true, 
    minlength: 3 
   }, 
   password: { //密码必填 至少6位 
    required: true, 
    minlength: 6 
   }, 
   confirm_password: { //密码确认 
    required: true, 
    equalTo: "#password" 
   }, 
   address: { //出生地必填 
    required: true 
   }, 
   mobile: { //手机必填 验证格式 
    required: true, 
    mobile: true 
   }, 
   email: { //email必填 验证格式 
    required: true, 
    email: true 
   }, 
 
  }, 
  messages: { 
   username: { 
    required: "用户名不能为空!", 
    minlength: "用户名至少三位!" 
   }, 
   password: { 
    required: "密码不能为空!", 
    minlength: "密码至少六位!" 
   }, 
   confirm_password: { 
    required: "密码确认不能为空!", 
    equalTo: "两次输入密码不一致 !" 
   }, 
   address: { 
    required: "请选择出生地!", 
   }, 
   mobile: { 
    required: "手机不能为空!", 
    mobile: "手机格式不正确", 
   }, 
   email: { 
    required: "邮箱不能为空!", 
    email: "邮箱格式不正确", 
   }, 
  } 
 }); 
}) 
</script>

因为jquery.validate.js中没有mobile验证,所以需要自己增加一个
首先找到messages 在里面添加mobile 如下:

messages: { 
 required: "This field is required.", 
 remote: "Please fix this field.", 
 email: "Please enter a valid email address.", 
 url: "Please enter a valid URL.", 
 date: "Please enter a valid date.", 
 dateISO: "Please enter a valid date (ISO).", 
 number: "Please enter a valid number.", 
 mobile: "请填写正确的手机号码.", 
 digits: "Please enter only digits.", 
 creditcard: "Please enter a valid credit card number.", 
 equalTo: "Please enter the same value again.", 
 maxlength: $.validator.format("Please enter no more than {0} characters."), 
 minlength: $.validator.format("Please enter at least {0} characters."), 
 rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."), 
 range: $.validator.format("Please enter a value between {0} and {1}."), 
 max: $.validator.format("Please enter a value less than or equal to {0}."), 
 min: $.validator.format("Please enter a value greater than or equal to {0}.") 
}

然后在methods中添加mobile的正则校验

mobile: function( value, element ) { 
 return this.optional(element) || /^1[3|4|5|8][0-9]\d{8}$/.test(value); 
}

运行效果

jQuery Validate插件实现表单强大的验证功能

以上就是为大家展示的jQuery Validate 插件为表单提供了强大的验证功能,希望大家喜欢。

Javascript 相关文章推荐
Discuz! 6.1_jQuery兼容问题
Sep 23 Javascript
比较详细的关于javascript 解析json的代码
Dec 16 Javascript
在javascript将NodeList作为Array数组处理的方法
Jul 09 Javascript
iframe 异步加载技术及性能分析
Jul 19 Javascript
js实现文字闪烁特效的方法
Dec 17 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
easyui tree带checkbox实现单选的简单实例
Nov 07 Javascript
微信小程序 http请求的session管理
Jun 07 Javascript
简单谈谈React中的路由系统
Jul 25 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
jQuery实现的淡入淡出图片轮播效果示例
Aug 29 jQuery
vue 中url 链接左边的小图标更改问题
Dec 30 Javascript
jquery实现二级导航下拉菜单效果
Dec 18 #Javascript
学习jQuey中的return false
Dec 18 #Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 #Javascript
js判断移动端是否安装某款app的多种方法
Dec 18 #Javascript
javascript实现保留两位小数的多种方法
Dec 18 #Javascript
原生js实现图片轮播特效
Dec 18 #Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 #Javascript
You might like
PHP版自动生成文章摘要
2008/07/23 PHP
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
PHP反向代理类代码
2014/08/15 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
jQuery 使用手册(五)
2009/09/23 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
jQuery动画特效实例教程
2014/08/29 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
使用vue-router为每个路由配置各自的title
2018/07/30 Javascript
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
python简单商城购物车实例代码
2018/03/15 Python
分析经典Python开发工程师面试题
2019/04/08 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
幼儿园大班毕业感言
2014/02/06 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
财务部总监岗位职责
2014/03/12 职场文书
滞留工资返还协议书
2014/10/19 职场文书
党员民主生活会材料
2014/12/15 职场文书
vue使用echarts实现折线图
2022/03/21 Vue.js
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python