(function( factory ) { if ( typeof define === "function" && define.amd ) { define( ["jquery", "../jquery.validate"], factory ); } else { factory( jQuery ); } }(function( $ ) { /* * Translated default messages for the jQuery validation plugin. * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) */ $.extend($.validator.messages, { required: "该内容不能为空", remote: "请修正此内容", email: "请输入有效的电子邮件地址", url: "请输入有效的网址", date: "请选择有效的日期", dateISO: "请输入有效的日期 (YYYY-MM-DD)", number: "请输入有效的数字", digits: "只能输入数字", creditcard: "请输入有效的信用卡号码", equalTo: "你的输入不相同", extension: "请输入有效的后缀", maxlength: $.validator.format("最多可以输入 {0} 个字符"), minlength: $.validator.format("最少要输入 {0} 个字符"), rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"), range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"), max: $.validator.format("请输入不大于 {0} 的数值"), min: $.validator.format("请输入不小于 {0} 的数值") }); // 身份证号码验证 jQuery.validator.addMethod("isIdCardNo", function (value, element) { //var idCard = /^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/; return this.optional(element) || isIdCardNo(value); }, "请输入正确的身份证号码。"); // 手机号码验证 jQuery.validator.addMethod("isMobile", function (value, element) { var length = value.length; var mobile = /^(13[0-9]{9})|(14[0-9]{9})|(15[0-9]{9})|(19[0-9]{9})|(17[0-9]{9})|(18[0-9]{9})|(19[0-9]{9})$/; return this.optional(element) || (length == 11 && mobile.test(value)); }, "请正确填写您的手机号码"); //验证金额 jQuery.validator.addMethod("money", function (value, element) { var length = value.length; //var mobile = /^(\d{1,8})(\.\d{1,2})?$/; var decimalsValue = /^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/ ; return this.optional(element) || (decimalsValue.test(value)); }, "金额必须为数字,最多保留两位小数"); //验证英文 jQuery.validator.addMethod("checkENG", function (value, element) { var reg = /^[a-zA-Z](\s*[a-zA-Z])*$/; return this.optional(element) || reg.test(value); }, "只能输入英文字符!"); //数字和26个英文字母 jQuery.validator.addMethod("checkENGNum", function (value, element) { var reg = /^[A-Za-z0-9]+$/; return this.optional(element) || reg.test(value); }, "只能输入英文字符和数字!"); jQuery.validator.addMethod("strongPsw", function (value, element) { if (passwordLevel(value) == 1) { return false; } return true }, "格式不符合,至少包含数字、大写字母、小写字母、特殊字符中的两种."); })); function passwordLevel(password) { var Modes = 0; for (i = 0; i < password.length; i++) { Modes |= CharMode(password.charCodeAt(i)); } return bitTotal(Modes); //CharMode函数 function CharMode(iN) { if (iN >= 48 && iN <= 57)//数字 return 1; if (iN >= 65 && iN <= 90) //大写字母 return 2; if ((iN >= 97 && iN <= 122) || (iN >= 65 && iN <= 90)) //大小写 return 4; else return 8; //特殊字符 } //bitTotal函数 function bitTotal(num) { modes = 0; for (i = 0; i < 4; i++) { if (num & 1) modes++; num >>>= 1; } return modes; } } //身份证号码的验证规则 function isIdCardNo(num){ //if (isNaN(num)) {alert("输入的不是数字!"); return false;} var len = num.length, re; if (len == 15) re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)$/); else if (len == 18) re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/); else { //alert("输入的数字位数不对。"); return false; } var a = num.match(re); if (a != null) { if (len==15) { var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } else { var D = new Date(a[3]+"/"+a[4]+"/"+a[5]); var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } if (!B) { //alert("输入的身份证号 "+ a[0] +" 里出生日期不对。"); return false; } } if(!re.test(num)){ //alert("身份证最后一位只能是数字和字母。"); return false; } return true; }