﻿//中文字两个字节
jQuery.validator.addMethod("cnbyterangelength", 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[0] && length <= param[1]);
}, jQuery.format("请确保输入的值在{0}-{1}个字符之间(一个中文字算2个字符)")); 

//中文字符、数字、字母、下划线验证
jQuery.validator.addMethod("generalchar", function(value, element) {
    return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
}, "请输入中文字符、数字、字母，不应当包含特殊字符");

//数字、字母、下划线验证
jQuery.validator.addMethod("cnchar", function(value, element) {
    return this.optional(element) || /^[\w\/\.]+$/.test(value);
}, "请输入数字、字母，不应当包含特殊字符");

//密码字符验证
jQuery.validator.addMethod("cnpassword", function(value, element) {
    return this.optional(element) || /^[^\u4e00-\u9fa5\s]+$/.test(value);
}, "请输入内容不应当包含中文字符，空格");

//中国电话号码验证    
jQuery.validator.addMethod("cnphone", function(value, element) {
return this.optional(element) || /^((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)$/.test(value);
}, "请输入有效的电话号码.");

//中国手机号码验证
jQuery.validator.addMethod("cnmobile", function(value, element) {
    return this.optional(element) || /^\d{11}$/.test(value);
}, "请输入合法手机号码");

//中国电话、手机号码共同验证
jQuery.validator.addMethod("cnphonemobile", function(value, element) {
    return this.optional(element) || /^(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})$/.test(value);
}, "请输入有效的座机或手机号码");

// 下拉框验证 注：默认选项为-1   
jQuery.validator.addMethod("cnselect", function(value, element) {
    return this.optional(element) || "-1" != value;
}, "请选择下拉选项.");

//身份证号码验证
jQuery.validator.addMethod("identitycard", function(value, element) {
    return this.optional(element) || /^[\d-]{15}$|^[\d-]{18}$/.test(value);
}, "请输入有效的身份证号码");

//年月验证 yyyyMM
jQuery.validator.addMethod("dateYM", function(value, element) {
    return this.optional(element) || /^\d{4}[\/-]\d{1,2}$/.test(value);
}, "请输入有效的年、月，例如1990-01");

// 邮政编码验证    
jQuery.validator.addMethod("zipcode", function(value, element) {
    var tel = /^[0-9]{6}$/;
    return this.optional(element) || (tel.test(value));
}, "请输入有效的邮政编码");    
