You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
4.3 KiB
131 lines
4.3 KiB
(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;
|
|
} |