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 相关文章推荐
IE8 兼容性问题(属性名区分大小写)
Jun 04 Javascript
使用js写的一个简易的投票
Nov 27 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
jQuery中队列queue()函数的实例教程
May 03 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
jQuery源码分析之sizzle选择器详解
Feb 13 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
Jul 27 Javascript
Vue实现带进度条的文件拖动上传功能
Feb 23 Javascript
微信小程序滑动选择器的实现代码
Aug 10 Javascript
详解Vue依赖收集引发的问题
Apr 22 Javascript
Vue实现验证码功能
Dec 03 Javascript
JavaScript工具库MyTools详解
Jan 01 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生成局部唯一识别码LUID的代码
2012/10/06 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
JS input 数字验证代码
2009/07/30 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
python的文件操作方法汇总
2017/11/10 Python
python中Apriori算法实现讲解
2017/12/10 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
社会实践自我鉴定
2013/11/07 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
宣传活动总结范文
2014/07/01 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
端午节寄语2015
2015/03/23 职场文书
房屋质量投诉书
2015/07/02 职场文书
python小程序之飘落的银杏
2021/04/17 Python
python 提取html文本的方法
2021/05/20 Python
DIY胆机必读:各国电子管评价
2022/04/06 无线电
Springboot中如何自动转JSON输出
2022/06/16 Java/Android