本文主要是介绍从零开始学jquery Validate 自定义验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*** 身份证号码验证**/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;
// initializeif ((intStrLen != 15) && (intStrLen != 18)) {return false;}
// check and set valuefor(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 datevar date8 = idNumber.substring(6,14);if (isDate8(date8) == false) {return false;}
// calculate the sum of the productsfor(i=0;i<17;i++) {lngProduct = lngProduct + varArray[i];}
// calculate the check digitintCheckDigit = parityBit[lngProduct % 11];
// check last digitif (varArray[17] != intCheckDigit) {return false;}}else{ //length is 15
//check datevar 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 Validate 自定义验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!