/*
 * Translated default messages for the jQuery validation plugin.
 * Language: CN
 * Author: Fayland Lam <fayland at gmail dot com>
 */
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} 的值"),
		// Extend
		mobile: "请正确填写手机号码",
		telephone: "请正确填写电话号码",
		phone: "请正确填写联系电话",
		zipCode: "请正确填写邮政编码",
		categoryIdChecker: "分类编号已被使用",
		userMailChecker: "邮箱已被注册",
		verifyCodeChecker:"验证码错误!",
		userAddressChecker:"简称已被使用",
		userName:"只能包括中文字、英文字母、数字和下划线",
		idCard:"请正确输入您的身份证号码"
});

// Mobile number validator
jQuery.validator.addMethod("mobile", function(value, element) {   
  return this.optional(element) || (value.length == 11 && /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/.test(value));
}, jQuery.validator.messages.mobile);

// Telephone number validator
jQuery.validator.addMethod("telephone", function(value, element) {
	var tel =/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/;   
    return this.optional(element) || (tel.test(value)); 
}, jQuery.validator.messages.telephone);

// Phone number validator
jQuery.validator.addMethod("phone", function(value, element) {   
  var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
  return this.optional(element) || (reg.test(value));
}, jQuery.validator.messages.phone);

// zipCode validator
jQuery.validator.addMethod("zipCode", function(value, element) {   
  return this.optional(element) || (/^[0-9]{6}$/.test(value));   
}, jQuery.validator.messages.zipCode);
// chinese validator
jQuery.validator.addMethod("userName", function(value, element) {      
   return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);      
},jQuery.validator.messages.userName);

// 中文字两个字节      
jQuery.validator.addMethod("byteRangeLength", 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.validator.addMethod("isIdCardNo", function(value, element) {     
  return this.optional(element) || isIdCardNo(value);    
}, jQuery.validator.messages.idCard); 


jQuery.validator.addMethod("chrnum", function(value, element) {      
  return this.optional(element) || (/^([a-zA-Z0-9]+)$/.test(value));      
  }, "请使用字母和数字");   


function isIdCardNo(num){  
    var len = num.length, re;  
    if (len == 15)  
        re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);  
    else if (len == 18)  
        re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);  
    else{  
        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){  
            return false;  
        }  
    }  
  
    return true;  
}   

