[导读] var IdCardValid = { 身份证检查isIdCard : function(_id) {var returnObj = new Object();var id = $ trim(_id toUpperCase());var idArray = this _splitId(id);if (idArray length > 0)
var IdCardValid = {//身份证检查
	isIdCard : function(_id) {
	var returnObj = new Object();
	var id = $.trim(_id.toUpperCase());
	var idArray = this._splitId(id);
	
	if (idArray.length > 0) {
	if (id.length != 18) {
	returnObj.status = false;
	returnObj.info = " 身份证号码必须是18位";
	return returnObj;
	}
	var checksum = id.substring(17, 18);
	var sum = 0;
	for ( var i = 1; i <= idArray.length; i++) {
	var Ai = idArray[i - 1];
	var Wi = this._getWeightingFactor(i);
	if (Wi != -1) {
	sum += Ai * Wi;
	}
	}
	var mod = sum % 11;
	if (this._getChecksum(mod) == checksum) {
	returnObj.status = true;
	return returnObj;
	} else {
	returnObj.status = false;
	returnObj.info = " 身份证号码输入错误";
	return returnObj;
	}
	} else {
	returnObj.status = false;
	returnObj.info = " 身份证号码格式错误";
	return returnObj;
	}
	},
	
	_splitId : function(_id) {
	var len = _id.length;
	var array = new Array();
	for ( var i = 0; i < len - 1; i++) {
	array.push(_id.charAt(i));
	}
	return array;
	},
	
	_getWeightingFactor : function(_index) {
	switch (_index) {
	case 1:
	return 7;
	case 2:
	return 9;
	case 3:
	return 10;
	case 4:
	return 5;
	case 5:
	return 8;
	case 6:
	return 4;
	case 7:
	return 2;
	case 8:
	return 1;
	case 9:
	return 6;
	case 10:
	return 3;
	case 11:
	return 7;
	case 12:
	return 9;
	case 13:
	return 10;
	case 14:
	return 5;
	case 15:
	return 8;
	case 16:
	return 4;
	case 17:
	return 2;
	default:
	return -1;
	}
	},
	_getChecksum : function(_mod) {
	switch (_mod) {
	case 0:
	return 1;
	case 1:
	return 0;
	case 2:
	return "X";
	case 3:
	return 9;
	case 4:
	return 8;
	case 5:
	return 7;
	case 6:
	return 6;
	case 7:
	return 5;
	case 8:
	return 4;
	case 9:
	return 3;
	case 10:
	return 2;
	default:
	return -1;
	}
	}
};下载本文