jqueryValidator自定义校验规则的一种方式(覆盖源码)
1.自定义js文件:jqValid-extend.js
内容:
function setDefaultValidate(){
$.extend(true, $.validator, {
// 方法
methods: {
//手机号
"verifyPhone": function (value, element) {
var mobile = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0-9]|17[0-9])\d{8}$/;
return this.optional(element) || (mobile.test(value));
},
//固话,法人联系电话
"verifyTel": function (value, element) {
var mobile = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0-9]|17[0-9])\d{8}$/;
var tel = /^0\d{2,3}-?\d{7,8}$/;
return this.optional(element) || (tel.test(value))||(mobile.test(value));
},
//银行卡号
"verifyCashCard": function (value, element) {
var reg =/^([\d]){16,30}$/;
return this.optional(element) || (reg.test(value));
},
//邮箱
"verifyMail": function (value, element) {
var mail = /^[a-z0-9._%-]+@([a-z0-9-]+\.)+[a-z]{2,4}$/;
return this.optional(element) || (mail.test(value));
},
//登录密码
"verifyLoginPassword": function (value, element) {
var regPwd= /^(?=.*\d.*\d)+(?=.*[a-z|A-Z]*.[a-z|A-Z]).{6,12}$/;
return this.optional(element) || (regPwd.test(value));
},
//交易密码,确认密码
"verifyCashPassword": function (value, element) {
var regPwd= /^([\d]){6}$/;
return this.optional(element) || (regPwd.test(value));
},
//证件号码
"verifyIDCode": function (value, element) {
var reg= /^([a-z|A-Z|()|+|0-9]){1,28}$/;
return this.optional(element) || (reg.test(value));
},
//验证码
"verifyVerifyCode": function (value, element) {
var reg= /^([\d]){6}$/;
return this.optional(element) || (reg.test(value));
},
//理顾工号
"verifyAdvisorID": function (value, element) {
var reg= /^H\d{6}$/;
return this.optional(element) || (reg.test(value));
},
//申请编号
"verifyApplyID": function (value, element) {
var reg= /^([\d]){1,50}$/;
return this.optional(element) || (reg.test(value));
},
//资质编号,产品备案编号
"verifyZizhiID": function (value, element) {
var reg= /^[\w|a-z|A-Z|\d]{1,30}$/;
return this.optional(element) || (reg.test(value));
},
//注册资本
"verifyRegZiben": function (value, element) {
var reg= /^\d{1,14}$/;
return this.optional(element) || (reg.test(value));
},
//法人职务
"verifyLegalTitle": function (value, element) {
var reg= /^[\u4e00-\u9fa5a-zA-Z]{1,30}$/;
return this.optional(element) || (reg.test(value));
},
//邮编
"verifyMailCode": function (value, element) {
var reg= /^\d{6}$/;
return this.optional(element) || (reg.test(value));
},
//产品规模
"verifyProductScale": function (value, element) {
var reg= /^\d{1,14}$/;
return this.optional(element) || (reg.test(value));
},
//产品存续期
"verifyProductExpire": function (value, element) {
var reg= /^\d{1,4}$/;
return this.optional(element) || (reg.test(value));
},
//客户编号
"verifyClientId": function (value, element) {
var reg=/^\d{1,50}$/;
return this.optional(element) || (reg.test(value));
},
//说明
"verifyDescription": function (value, element) {
var reg=/^[A-Za-z\u4e00-\u9fa5]{1,300}$/;
return this.optional(element) || (reg.test(value));
}
},
// 根据规则添加
classRuleSettings: {
required:{
required:true
},
verifyPhone: {
verifyPhone: true
},
verifyTel: {
verifyTel: true
},
verifyMail: {
verifyMail: true
},
verifyLoginPassword: {
verifyLoginPassword: true
},
verifyCashPassword: {
verifyCashPassword: true
},
verifyIDCode: {
verifyIDCode: true
},
verifyVerifyCode: {
verifyVerifyCode: true
},
verifyAdvisorID: {
verifyAdvisorID: true
},
verifyApplyID: {
verifyApplyID: true
},
verifyZizhiID: {
verifyZizhiID: true
},
verifyRegZiben: {
verifyRegZiben: true
},
verifyLegalTitle: {
verifyLegalTitle: true
},
verifyMailCode: {
verifyMailCode: true
},
verifyProductScale: {
verifyProductScale: true
},
verifyProductExpire: {
verifyProductExpire: true
},
verifyClientId: {
verifyClientId: true
},
verifyDescription: {
verifyDescription: true
}
},
// 方法默认提示信息
messages: {
required: '不能为空!',
verifyMobile: "请填写正确的手机号!",
verifyMail: "请填写正确的邮箱!",
verifyPassword: "6-12位,至少包含2个数字,2个字母!",
verifyCode: "请填写正确的证件号码!",
},
// 默认选项
defaults: {
onkeyup: false,
// 验证规则
rules: {
},
// 验证失败的信息
messages: {
},
// 错误被包裹的标签
errorElement: 'span',
// 忽略的元素
ignore: '',
// 提交事件
submitHandler: function () {
}
}
});
}
2.html标签中使用校验规则:
<li>
<label>法人邮箱: </label>
<input name="lawEmail" id="legalEmail" type="text" value="{{=it.lawEmail }}" class="public_input2"
data-rule-verifyMail="true" data-msg-verifyMail="请输入正确的邮箱!" maxlength="30">
</li>
jqueryValidator自定义校验规则的一种方式(覆盖源码)的更多相关文章
- jqueryValidator自定义校验规则的一种方式(不覆盖源码)
1.封装自定义验证方法-validate-methods.js /***************************************************************** j ...
- 线程系列1--Java创建线程的几种方式及源码分析
线程--创建线程的几种方式及源码分析 开始整理下线程的知识,感觉这块一直是盲区,工作中这些东西一直没有实际使用过,感觉也只是停留在初步的认识.前段时间一个内推的面试被问到,感觉一脸懵逼.面试官说,我的 ...
- java创建线程的两种方式及源码解析
创建线程的方式有很多种,下面我们就最基本的两种方式进行说明.主要先介绍使用方式,再从源码角度进行解析. 继承Thread类的方式 实现Runnable接口的方式 这两种方式是最基本的创建线程的方式,其 ...
- 案例17-validate自定义校验规则校验验证码是否输入正确
1 自定义校验规则代码 <script type="text/javascript"> //使用validate插件进行表单的校验 $(function(){ $(&q ...
- 案例16-validate自定义校验规则校验用户名是否存在
1 知识点 2 register.jsp代码 注意自定义校验规则的时候,提交必须是同步的方式. <%@ page language="java" contentType=&q ...
- struts2 自定义校验规则
自定义校验规则:(了解) 在Struts2自定义校验规则: 1.实现一个Validator 接口. 2.一般开发中继承ValidatorSupport 或者 FieldValidatorSupport ...
- Dojo初探之2:设置dojoConfig详解,dojoConfig参数详解+Dojo中预置自定义AMD模块的四种方式(基于dojo1.11.2)
Dojo中想要加载自定义的AMD模块,需要先设置好这个模块对应的路径,模块的路径就是这个模块的唯一标识符. 一.dojoConfig参数设置详解 var dojoConfig = { baseUrl: ...
- [Vue]vee-validate的使用——自定义校验规则及校验message
1.安装vee-validate npm install vee-validate --save 2.main.js里引用vee-validate插件 import Vue from 'vue' im ...
- Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析
Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析 本文简要介绍了基于 Spring 的 web project 的启动流程,详细分析了 Spring 框架将开发人员基于 XML ...
随机推荐
- POJ-3264-Balanced Lineup-单点更新
题目链接:id=3264">http://poj.org/problem? id=3264 这是一个单点更新的模板题,就不详解了,HDU敌兵布阵那题我有详解:链接:http://blo ...
- JAVA设计模式之【模板方法模式】
模板方法模式 提高代码的复用性 把常用的基本方法放入父类中 强调一种流程步骤 角色 抽象类 抽象方法 具体方法 钩子方法 空方法 通过bool控制 具体类 看例子 1.银行模板类 package Te ...
- Oracle GoldenGate
Oracle GoldenGate实现数据库同步 前言:最近刚好在弄数据库同步,网上查了些资料再加上自己整理了一些,做个分享! 一.GoldenGate的安装 官方文档: Oracle®GoldenG ...
- ETL工具的功能和kettle如何来提供这些功能
不多说,直接上干货! 大家会有一个疑惑,本系列博客是Kettle,那怎么扯上ETL呢? Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了 ...
- AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe
首先说明,以前我用eventBus的jar包写得项目demo,前几天就写了一个EventBus的实例,这次我没用jar包,直接用gradle引用的,可是demo写完了,报错: its super cl ...
- jqGrid系列知识
1.获取选中到行的ID var rowKey = jQuery(grid_selector).getGridParam("selrow"); 2.获取选中行除ID之外的数据 var ...
- avalon过滤
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> ...
- jquery获取焦点和失去焦点
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- STM8S103 解决Rom空间不足 & Map文件分析
STM8S103只有8KRom,很容易造成空间不足.对于空间不足,我们就要从map文件着手分析,究竟哪些函数占了多少空间,map文件分为几部分:Segments(总括了各个段所占的空间), Modul ...
- Windows7下Thingworx 7安装
1.环境准备 Windows7 64位+JDK8+Tomcat8+PostgreSQL9 2.安装JDK8和Tomcat8 这里没有什么太多值得叙述的,基本都是一路下一步. 需要注意的是,一个是Tom ...