python校验身份证号码真伪(python真伪身份证)

1年前 (2023-09-21)阅读182回复0
阚立文
阚立文
  • 注册排名10015
  • 经验值10
  • 级别
  • 主题2
  • 回复0
楼主

在Python中,有很多用途广泛的工具库可以帮助我们对身份证号进行真伪判断,例如使用正则表达式匹配身份证号码格式、使用校验码算法验证身份证号是否正确等等。

import re    # 导入正则表达式库
def check_id_card(id_card):
"""
判断身份证号是否符合规范
"""
# 定义正则表达式规则
pattern = '^[1-9]\\d{5}(19|20)\\d{2}(0[1-9]|1[012])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]$'
if re.match(pattern, str(id_card)):    # 如果匹配成功
return True
else:
return False
def verify_id_card(id_card):
"""
判断身份证号是否真实有效
"""
if check_id_card(id_card):    # 先判断身份证号格式是否正确
# 身份证号码共18位,前17位乘以相应系数并相加,对乘积求和取余数,即可得到校验码
factor = [2, 7, 8, 9, 10, 5, 4, 6, 3, 7, 9, 10, 5, 8, 4, 2]
check_code = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
sum = 0
for i in range(17):
sum += int(id_card[i]) * factor[i]
mod = sum % 11
if id_card[17].upper() == check_code[mod]:    # 如果校验码匹配成功
return True
else:
return False
else:
return False

以上代码演示了如何通过正则表达式匹配身份证号码的格式,并通过校验码算法验证身份证号码的真实有效性。使用这些工具,我们可以有效地判断身份证号码的真伪,并对真伪身份证号码进行自动化的检索。

本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。

本文地址:https://www.pyask.cn/info/542.html

0
回帖

python校验身份证号码真伪(python真伪身份证) 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息