
/**
 * 扩展JQuery Validate的验证方法
 * Author:tuchun
 * Date:2009-3-4
 */

//验证电话号码
jQuery.validator.addMethod("phone", function (value, element, params) {
	if (value.length == 0) {//为空返回
		return true;
	}
	var reg = /^([0-9]|[\-])+$/;
	if (value.length < 7 || value.length > 18) {
		return false;
	} else {
		var returnValue = reg.test(value);
		return returnValue;
	}
}, jQuery.format("\u7535\u8bdd\u53f7\u7801\u683c\u5f0f\u9519\u8bef"));

//验证邮编(中国)
jQuery.validator.addMethod("zipcode", function (value, element, params) {
	if (value == "") {
		return true;
	}
	var regTextPost = /^(\d){6}$/;
	return regTextPost.test(value);
}, jQuery.format("\u90ae\u7f16(\u4e2d\u56fd)\u683c\u5f0f\u9519\u8bef"));

//验证日期的合法性
$.validator.addMethod("checkDateFuc", function (value, element, params) {
	if (value == "") {
		return true;
	}
	var r = value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
	if (r == null) {
		return false;
	}
	var d = new Date(r[1], r[3] - 1, r[4]);
	return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
}, jQuery.format("\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u65f6\u95f4\u683c\u5f0f."));
	
//验证身份证号码
jQuery.validator.addMethod("idcard", function (value, element, params) {
	return checkIdcard(value);
}, jQuery.format("\u8eab\u4efd\u8bc1\u53f7\u7801\u683c\u5f0f\u9519\u8bef"));
	
	//自定义的身份证验证函数
function checkIdcard(value) {
    //15 18位
	if (value.length != 15 && value.length != 18) {
		return false;
	}
	if (value.length == 15) {
		for (i = 0; i < value.length; i++) {
        	// 如何判断一个字母是数字
			if (isNaN(parseInt(value.charAt(i)))) {
				return false;
			}
		}
		return true;
	}
	if (value.length == 18) {
		for (i = 0; i < value.length - 1; i++) {
        	// 如何判断一个字母是数字
			if (isNaN(parseInt(value.charAt(i)))) {
				return false;
			}
		}
			
		// 3. 确保最后一位是数字或者X
		var lastIDNum = value.charAt(17);
		if (isNaN(parseInt(value.charAt(i))) && lastIDNum.toLowerCase() != "x") {
			return false;
		}
		return true;
	}
}

