身份证号码校验,你真的懂了吗?
创作时间:
2025-01-22 20:18:44
作者:
@小白创作中心
身份证号码校验,你真的懂了吗?
身份证号码作为每个人独一无二的身份标识,其编码规则和校验方法至关重要。你知道如何通过18位身份证号码判断一个人的性别吗?或者如何利用特定算法校验身份证号码的真实性?本文将带你深入了解身份证号码背后的秘密,让你不再困惑于各种校验规则。无论是编程校验还是手动核对,都能轻松掌握,快来看看你是否真的懂得身份证号码的奥秘吧!
01
身份证号码的结构解析
18位身份证号码由以下部分组成:
- 前6位:地区码,表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
- 第7至14位:出生日期码,表示编码对象的出生年、月、日,格式为YYYYMMDD。
- 第15至17位:顺序码,表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,奇数分配给男性,偶数分配给女性。
- 第18位:校验码,根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
02
校验算法详解
身份证号码的校验采用模11算法,具体步骤如下:
- 将身份证号码从左至右标记为a1, a2, ..., a18,其中a18为校验码。
- 计算权重系数Wi = 2^(18-i) mod 11,其中mod表示求余数。
- 计算S = Σ(a_i * W_i)(i从1到17)。
- 计算校验码a18 = (12 - (S mod 11)) mod 11。
如果计算出的校验码是10,则用大写字母X表示。
示例
以身份证号码11010519491231002X为例:
- 权重系数分别为:7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2。
- 计算加权和:(17 + 19 + 010 + 15 + 08 + 54 + 12 + 91 + 46 + 93 + 17 + 29 + 310 + 15 + 08 + 04 + 2*2) = 189。
- 计算余数:189 mod 11 = 2。
- 查找校验码:(12 - 2) mod 11 = 10,对应X。
因此,该身份证号码的校验码正确。
Python代码实现
def calculate_check_digit(id_base):
weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
check_chars = '10X98765432'
sum_ = 0
for i in range(17):
sum_ += int(id_base[i]) * weights[i]
return check_chars[sum_ % 11]
def check_id_card(id_card):
if len(id_card) != 18:
return False, '身份证长度错误'
check_code = calculate_check_digit(id_card[:-1])
if check_code != id_card[-1].upper():
return False, '校验码错误'
return True, '身份证号码有效'
# 测试
print(check_id_card('11010519491231002X')) # 应输出(True, '身份证号码有效')
03
实际应用场景
身份证号码校验在日常生活中非常重要,例如:
- 房屋租赁:房东需要核实租客的真实身份,防止虚假身份信息。
- 借贷:债权人需要确认借款人身份,避免身份冒用。
- 合同签订:在各类合同中,准确的身份信息是合同有效的基础。
实用工具推荐
- 微信小程序“普尔查”:提供个人身份证实名认证查询服务,只需输入姓名和身份证号码即可验证信息真实性。
- 正则表达式校验:在开发场景中,可以使用正则表达式快速验证号码格式是否正确。
04
常见问题解答
15位与18位身份证号码的区别:
- 15位号码是早期使用的,没有校验码,且出生年份只有两位。
- 18位号码是1999年之后推广的,增加了校验码,出生年份为四位。
校验码X的含义:
- X代表10,当校验码计算结果为10时,用X表示,以保持号码长度为18位。
如何判断性别:
- 通过第17位数字判断,奇数表示男性,偶数表示女性。
身份证号码的校验不仅是确保信息准确性的手段,更是保护个人身份安全的重要措施。通过了解其结构和校验方法,我们能更好地运用这一重要信息,避免因信息错误带来的麻烦。无论是日常生活还是软件开发,掌握身份证号码的校验规则都是非常实用的技能。
热门推荐
川味麻辣火锅底料的自制秘笈:独家教程,让你的火锅沸腾人心!
齐河必打卡:圣喜酱牛肉&齐河西瓜
三都澳:碧海蓝天间的诗意画卷
洪湖市文物古迹介绍
林正英VS周星驰:谁才是真正的“僵尸王”?
台州国清寺的春光
南海影视城&西樵山:佛山周末打卡胜地
南海千灯湖:25年铸就城市新地标
佛山板村:岭南文化的活化石
佛山自由行打卡:这10个景点你不能错过!
湖北兴山万朝山自然保护区:当好动植物宝库的“守护神”
柳州说走就走旅行攻略:交通住宿美食全指南
广西最令人印象深刻的亮点是什么?桂林的山水,还是柳州的美食?
柳州,又上央视!这个地方正火热!
李白笔下的神仙居:从诗意仙境到网红打卡地
浙江神仙居:千年古刹与自然奇观的完美融合
五指毛桃最佳搭配大揭秘!
林正英《僵尸先生》经典瞬间回顾:从道士到“僵尸道长”的传奇
《僵尸先生》揭秘:明清丧葬习俗大起底
《僵尸先生》:一部展现道教文化的经典之作
九寨沟彩林飘雪背后的生态保护挑战
清远与丹霞山:岭南文化的一颗明珠
“速”写磐安“三”千年②丨踏遍大盘山,追本溯源千年药
重庆必打卡!磁器口老街&李子坝站
重庆三日游:天坑三桥、仙女山、乌江画廊深度游攻略
达古冰川:给冰川“盖被子”的环保创新实验
冬日徒步打卡:龙泉紫霞山&邛崃白鹤山
报废车如何回收,报废车如何回收利用
呼吁形成报废回收拆解“一条龙”
高血压患者要远离“隐形杀手”茴香!