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; } } };