从零开始学jquery Validate 自定义验证
2016-05-17 16:28
579 查看
/** * 身份证号码验证 * */ function isIdCardNo(num) { var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1); var parityBit=new Array("1","0","X","9","8","7","6","5","4","3","2"); var varArray = new Array(); var intValue; var lngProduct = 0; var intCheckDigit; var intStrLen = num.length; var idNumber = num; // initialize if ((intStrLen != 15) && (intStrLen != 18)) { return false; } // check and set value for(i=0;i<intStrLen;i++) { varArray[i] = idNumber.charAt(i); if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) { return false; } else if (i < 17) { varArray[i] = varArray[i] * factorArr[i]; } } if (intStrLen == 18) { //check date var date8 = idNumber.substring(6,14); if (isDate8(date8) == false) { return false; } // calculate the sum of the products for(i=0;i<17;i++) { lngProduct = lngProduct + varArray[i]; } // calculate the check digit intCheckDigit = parityBit[lngProduct % 11]; // check last digit if (varArray[17] != intCheckDigit) { return false; } } else{ //length is 15 //check date var date6 = idNumber.substring(6,12); if (isDate6(date6) == false) { return false; } } return true; }
</pre><pre code_snippet_id="1686640" snippet_file_name="blog_20160517_3_7545046" name="code" class="javascript"> //自定义验证规则 //addMethod(methodName,method,message) //验证邮政编码 $.validator.addMethod("isZipCode", function(value, element) { var telReg = /^[0-9]{6}$/;//邮政编码正则表达式 return this.optional(element) || (telReg.test(value)); }, "请正确填写您的邮政编码"); // 身份证号码验证 jQuery.validator.addMethod("idcardno", function(value, element) { return this.optional(element) || isIdCardNo(value); }, "请正确输入身份证号码"); //字母数字 jQuery.validator.addMethod("alnum", function(value, element) { var numReg = /^[a-zA-Z0-9]+$/; return this.optional(element) ||numReg.test(value); }, "只能包括英文字母和数字"); // 汉字 jQuery.validator.addMethod("chcharacter", function(value, element) { var tel = /^[\u4e00-\u9fa5]+$/; return this.optional(element) || (tel.test(value)); }, "请输入汉字"); // 字符最小长度验证(一个中文字符长度为2) jQuery.validator.addMethod("stringMinLength", function(value, element, param) { var length = value.length; for ( var i = 0; i < value.length; i++) { if (value.charCodeAt(i) > 127) { length++; } } return this.optional(element) || (length >= param); }, $.validator.format("长度不能小于{0}!")); // 字符最大长度验证(一个中文字符长度为2) jQuery.validator.addMethod("stringMaxLength", function(value, element, param) { var length = value.length; for ( var i = 0; i < value.length; i++) { if (value.charCodeAt(i) > 127) { length++; } } return this.optional(element) || (length <= param); }, $.validator.format("长度不能大于{0}!")); // 字符验证 jQuery.validator.addMethod("string", function(value, element) { return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value); }, "不允许包含特殊符号!"); // 手机号码验证 jQuery.validator.addMethod("mobile", function(value, element) { var length = value.length; var telReg =/^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/; return this.optional(element) || (length == 11 &&telReg.test(value)); }, "手机号码格式错误!"); // 电话号码验证 jQuery.validator.addMethod("phone", function(value, element) { var tel = /^(\d{3,4}-?)?\d{7,9}$/g; return this.optional(element) || (tel.test(value)); }, "电话号码格式错误!"); // 必须以特定字符串开头验证 jQuery.validator.addMethod("begin", function(value, element, param) { var begin = new RegExp("^" + param); return this.optional(element) || (begin.test(value)); }, $.validator.format("必须以 {0} 开头!")); // 验证两次输入值是否不相同 jQuery.validator.addMethod("notEqualTo", function(value, element, param) { return value != $(param).val(); }, $.validator.format("两次输入不能相同!")); // 验证值不允许与特定值等于 jQuery.validator.addMethod("notEqual", function(value, element, param) { return value != param; }, $.validator.format("输入值不允许为{0}!")); // 验证值必须大于特定值(不能等于) jQuery.validator.addMethod("gt", function(value, element, param) { return value > param; }, $.validator.format("输入值必须大于{0}!")); // 验证值小数位数不能超过两位 jQuery.validator.addMethod("decimal", function(value, element) { var decimal = /^-?\d+(\.\d{1,2})?$/; return this.optional(element) || (decimal.test(value)); }
相关文章推荐
- jQuery学习笔记八:遍历函数集合
- jQuery学习笔记七:文档操作属性集合
- jQuery 获取屏幕高度、宽度的简单实现案例
- jQuery学习笔记六:事件集合
- jQuery限制文本框只能输入正整数
- jQuery的三种$()
- jquery.pithyUpload.js
- jQuery学习笔记五:选择器集合
- 用jQuery实现拖动
- jQuery学习笔记四:查找遍历
- social-share,社会化分享组件之jquery版
- 从零开始学jQuery Validate 之01
- JQuery对JSON数组的操作
- jQuery Mobile操作HTML5的常用函数总结
- jQuery学习笔记三:获取内容(text、html、val)
- 【转】jQuery选择器总结
- jQuery实战学习笔记(一)-选择要操作的元素和管理包装集
- 基于jQuery下拉日期插件
- jquery的学习
- jquery 双击修改某项值