大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作“全国身份证号验证及查询系统”,成品界面如下图:

本系统可以实现身份证号真伪验证,年龄、性别及发证地查询,看起来是不是很高大上,其实做起来不是很复杂,涉及知识主要有python字符串处理、表格读写和Gui制作,适合有一定python基础的朋友练手,下面一起来看看怎么实现的吧!

第一步:身份证号解析

身份证号一般由18位号码组成,前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。6位地址码为编码对象户口所在县(市、区)的行政区划代码;8位出生日期码为出生年月日;3位顺序码为县(市、区)所辖派出所的分配码,顺序码的奇数分配给男性,偶数分配给女性;1位校验码是按统一公式计算出来的。

第二步:归类整理地址码与区县对应关系

这个网上比较常见,随便搜索1个身份证号都会返回所在的区县地址,我们要做的是把所有的对应关系都找到,恰巧网上已经有现成的了,不过要稍加整理,大家可以去网上找一下,但是要擦亮眼睛啊,有一个版本是错的,实在找不到的可以联系我,我已经整理好存入表格中

第三步:验证身份证号真伪

身份证最后一位校验码算法如下:

①将身份证号码前17位数分别乘以不同的系数,从第1位到第17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

②将得到的17个乘积相加。

③将相加后的和除以11并得到余数。

④余数可能为0 1 2 3 4 5 6 7 8 9 10这些个数字,其对应的身份证最后一位校验码为1 0 X 9 8 7 6 5 4 3 2。

代码实现如下:

第四步:查询地区

规则参考第一步,python两行代码就搞定了

不得不说,python就是简单方便

第五步:计算出年龄及性别

规则同样参考第一步,代码如下:

到此为止,项目的主体功能已经实现,下面要想办法用GUI界面实现。

第六步:制作GUI界面

本步骤主要用PyQt5实现,下面我把核心代码贴出来:

首先是以网格方式对标签及文本框进行布局,并用setStyleSheet对文本框进行修饰

然后是设置查询按钮并布局,再与check函数(信号)绑定

接着是在check函数中将查询到的结果在文本框中显示出来

最后设置主窗口图片背景

到此为止,本项目就大功告成了,你学会了吗?

但是要声明一下,本文所介绍的查询功能均为正向查询,即在已知身份证号的前提下,解析原则来源于网络,不敢保证100%准确,更不能反向推算出个人身份证号,所以不涉及侵犯隐私问题。

利用python实现身份证号验证系统相关推荐

  1. 利用python识别身份证号后获取年龄和性别信息

    利用python识别身份证号后获取年龄和性别信息 1. 实验目的 利用python识别身份证号后,从身份证号中获取年龄和性别信息 2. 主代码 1. 身份证号码识别 # !/usr/bin/pytho ...

  2. 利用python获取身份证号中年龄和性别信息

    import datetime class GetInformation(object):def __init__(self,id):self.id = idself.birth_year = int ...

  3. 用python实现身份证号校验系统

    使用Tkinter作为GUI模块以及python基础,开发一款身份证号码校验的系统. 功能概览: 用户输入身份证号码 从身份证号码得到该用户的地区信息.出生日期.以及身份证号码是否合法 Tkinter ...

  4. python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  5. python身份证验证系统_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  6. 【趣味案例】用python制作全国身份证号验证及查询系统

    今天给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及发证地查询,看起来是不是很高大上, ...

  7. 用python制作全国身份证号验证及查询系统

    ​ 大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性 ...

  8. Java 身份证号验证

    二代身份证号码验证 扯淡区: 本博客主要内容是利用Java语言来验证身份证号码是否符合18位的二代身份证号规范. 公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次 ...

  9. 身份证号验证 银行卡号验证

    身份证号验证 /* 审批系统的身份证验证* 身份证15位编码规则:dddddd yymmdd xx p* dddddd:6位地区编码* yymmdd: 出生年(两位年)月日,如:910215* xx: ...

最新文章

  1. cocos2d-x 3.10 PageView BUG
  2. python __setattr__ , __getattr__
  3. 100亿数据1万属性数据架构设计
  4. 工信部支持的项目接单平台,团队、公司请进
  5. php 解析 标记,如何使用PHP-simple-HTML DOM解析器获取标记的属性
  6. treemap底层结构_HashMap面试必问的数据结构相关知识总结
  7. 33-高级特性之generator(1)
  8. java语言的数据类型_Java语言的数据类型
  9. win7系统关闭蓝牙服务器,win7系统怎么打开蓝牙的两种方法
  10. 两个tplink路由器有线桥接_TP-Link路由器的有线桥接图解
  11. Google SketchUp Cookbook: (Chapter 3) Intersection Edges: Cutting and Trimming
  12. [Java] [SurfaceView] 使用EGL
  13. Python爬虫系列之某了么h5签名sign算法
  14. java费切罗_细数目前主流的十二个自行车种类
  15. EXCEL中如何将文本格式的数字转换为日期格式
  16. Godaddy 添加子域名
  17. 4-Python3从入门到实战—基础之数据类型(字符串-String)
  18. 步进电机与两线直流电机驱动
  19. 主流车企在元宇宙的动向和布局
  20. leetcode Rotate Image

热门文章

  1. 二、浏览器广告屏蔽插件_Adblock Plus
  2. 关闭CSDN广告必备插件:adblock plus
  3. nginx配置连接数及限制客户端请求
  4. FPGA图像处理_查找表的使用(正弦函数的实现)(含源码)
  5. MSP430单片机串口控制5路PWM频率变化程序
  6. (附源码)springboot自行车在线租赁管理系统 毕业设计101157
  7. (转)从零实现3D图像引擎:(11)苍井空做客讲解3D变换矩阵的推导
  8. 通过weui-1.1.3源码学习前端开发(一)解析package.json文件
  9. MDK5批量修改文件目录
  10. 软件测试质量体系管控