文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python实现身份证号码验证的示例代码

2024-04-02 17:21

关注

这篇文章将为大家详细讲解有关Python实现身份证号码验证的示例代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

身份证号码验证

引言

身份证号码是每个中国公民的唯一身份凭证,包含了重要的个人信息。 验证身份证号码的正确性是确保数据准确性和防止身份盗用的关键步骤。Python语言提供了强大的功能来实现身份证号码验证。

实现代码

import re

def is_valid_id_number(id_number):
    """
    验证身份证号码是否有效。

    Args:
        id_number (str): 身份证号码。

    Returns:
        bool: True if the ID number is valid, False otherwise.
    """

    # 正则表达式匹配身份证号码格式
    pattern = r"^[1-9]d{5}(18|19|20)d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$"

    # 检查格式是否匹配
    if not re.match(pattern, id_number):
        return False

    # 计算校验位
    weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
    parity_bits = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"]
    sum = 0
    for i in range(0, 17):
        sum += int(id_number[i]) * weights[i]
    parity_bit = parity_bits[sum % 11]

    # 检查校验位是否正确
    if parity_bit != id_number[17]:
        return False

    return True

使用方法

# 使用示例

id_number = "330682199809033256"

if is_valid_id_number(id_number):
    print("身份证号码有效")
else:
    print("身份证号码无效")

代码详解

优势

注意事项

以上就是Python实现身份证号码验证的示例代码的详细内容,更多请关注编程学习网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     417人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     194人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     155人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     232人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     60人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯