define('base/1.0.0/unit/validate/custom-1.0.0', ['base/1.0.0/unit/validate/validate-1.0.0'], function(require, exports, module) { require('base/1.0.0/ui/validate/validate-1.0.0'); /* * 错误提示位置调整 */ $.validator.setDefaults({ highlight: function(element) { if ($(element).closest('.form-group').length) { $(element).closest('.form-group').addClass('has-error'); } else { $(element).parent().addClass('has-error'); } }, unhighlight: function(element) { if ($(element).closest('.form-group').length) { $(element).closest('.form-group').removeClass('has-error'); } else { $(element).parent().removeClass('has-error'); } }, errorElement: 'span', errorClass: 'help-block', errorPlacement: function(error, element) { error.appendTo(element.parent()); } }); /* * 汉化 */ jQuery.extend(jQuery.validator.messages, { required: "请输入该字段", remote: "请修正该字段", email: "请输入正确格式的电子邮件", url: "请输入合法的网址", date: "请输入合法的日期", dateISO: "请输入合法的日期 (ISO).", number: "请输入合法的数字", digits: "只能输入整数", creditcard: "请输入合法的信用卡号", equalTo: "请再次输入相同的值", accept: "请输入拥有合法后缀名的字符串", maxlength: jQuery.validator.format("请输入一个长度最多是 {0} 的字符串"), minlength: jQuery.validator.format("请输入一个长度最少是 {0} 的字符串"), rangelength: jQuery.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"), range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"), max: jQuery.validator.format("请输入一个最大为 {0} 的值"), min: jQuery.validator.format("请输入一个最小为 {0} 的值") }); /* * 扩展验证规则 */ jQuery.validator.addMethod("isZipCode", function(value, element) { var pattern = /^[0-9]{6}$/; return this.optional(element) || (pattern.test(value)); }, "请正确填写您的邮政编码"); //匹配由26个英文字母组成的字符串 jQuery.validator.addMethod("isLetter", function(value, element) { var pattern = new RegExp("^[A-Za-z]+$"); return this.optional(element) || (pattern.test(value)); },"请填写只由英文组成的字符串"); // 手机号码验证 jQuery.validator.addMethod("isMobile", function(value, element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/; return this.optional(element) || (length == 11 && mobile.test(value)); }, "请正确填写您的手机号码"); // 电话号码验证 电话号码格式010-12345678 jQuery.validator.addMethod("isTel", function(value, element) { var tel = /^(\d{3,4}-)?\d{7,9}$/; return this.optional(element) || (tel.test(value)); }, "请正确填写您的电话号码"); // 京东通用电话号码格式验证 jQuery.validator.addMethod("isJdTel", function(value, element) { var tel = /^[0-9\-()()]{7,18}$/; return this.optional(element) || (tel.test(value)); }, "请正确填写您的电话号码"); // 联系电话(手机/电话皆可)验证 jQuery.validator.addMethod("isPhone", function(value,element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; var tel = /^(\d{3,4}-)?\d{7,9}$/; return this.optional(element) || (tel.test(value) || mobile.test(value)); }, "请正确填写您的联系电话"); //验证括中文字、英文字母、数字和下划线 jQuery.validator.addMethod("stringCheck", function(value, element) { return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value); }, "只能包括中文字、英文字母、数字和下划线"); //验证金额 小数点后面可以跟0到2位 jQuery.validator.addMethod("moneyCheck", function(value, element) { return this.optional(element) || /^([1-9]\d{0,8}|0)(\.\d{1,2})?$/.test(value); }, "金额格式错误"); //验证金额不能大于999999999.00 jQuery.validator.addMethod("maxPriceCheck",function(value,element){ var maxPrice=999999999.00; var currentPrice= parseFloat(value); if(currentPrice > maxPrice){ return false; } if(currentPrice <= 0){ return false; } return true; },"金额格式错误"); //验证email jQuery.validator.addMethod("isMail", function(value, element) { return this.optional(element) || /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.)([a-zA-Z0-9_-])+$/.test(value); }, "只能包括英文字母、数字和下划线"); //是有效地整数 jQuery.validator.addMethod("isInt", function(value, element) { return this.optional(element) || /^([1-9][0-9]*)$|^0$/.test(value); }, "请输入有效整数"); //验证整数 jQuery.validator.addMethod("checkPriceNoFj", function(value, element) { var price = parseFloat(value); if(price>0 && price < 100){ return true; }else{ return this.optional(element) || /^([1-9][0-9]*)$|^0$/.test(value) || /^(?!0(\.0+)?$)([1-9][0-9]{0,9}|0)(\.[0]{1,3})?$/.test(value); } }, "金额只能是正整数"); //是有大于零的效地整数 jQuery.validator.addMethod("isMaxZeroInt", function(value, element) { return this.optional(element) || /^[1-9][0-9]*$/.test(value); }, "请输入大于零整数"); //是有效地重量,小数点后三位 大于0 jQuery.validator.addMethod("isWeight", function(value, element) { return this.optional(element) || /^(?!0(\.0+)?$)([1-9][0-9]{0,3}|0)(\.[0-9]{1,3})?$/.test(value); }, "请输入有效的重量"); jQuery.validator.addMethod("maxWeightCheck", function(value, element) { var maxWeight = 9999.00; var currentWeight = parseFloat(value); if(currentWeight > maxWeight){ return false; } return true; },"请输入有效的重量"); //是有效地图片格式 jQuery.validator.addMethod("isImg", function(value, file) { if(this.optional(file)){ return true; } var i = file.value.lastIndexOf("."); if(i== -1){ return false; } var ext = file.value.substring(i); var ext1 = ext.toLowerCase(); if (file.value == "") { return false; } else { //jpg,jpeg,png,gif if (ext1 != ".jpg" && ext1 != ".jpeg" && ext1 != ".png") { return false; } } return true; }, "请输入有效的图片格式"); jQuery.validator.addMethod("zh_CnLength",function(value,element,param){ String.prototype.getBytes = function() { var cArr = this.match(/[^\x00-\xff]/ig); return this.length + (cArr == null ? 0 : cArr.length); } var length = jQuery.trim(value).getBytes(); if(length>param){ return false; } return true; },"请输入一个长度最多是 {0} 的字符串,一个中文算两个长度"); });