​大家好哇,又是一个愉快的周末,今天本鸟给大家分享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的爬虫与数据分析之路]后台输入“20200329”获取。

校验身份证_制作全国身份证号验证及查询系统相关推荐

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

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

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

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

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

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

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

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

  5. 超级牛逼,用python制作全国身份证号验证及查询系统

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

  6. 公众号学生成绩查询系统

    公众号对于绝大部分老师应该都不陌生吧,很多老师被学校要求撰写编辑公众号文章发布到学校的公众号平台.这种情况在高中.大学比较常见,尤其是大学,很多老师还会邀请同学一起帮忙编辑公众号进行发布.撰写公众号文 ...

  7. 全国铁路查询系统_火车票查询时刻表 全国列车时刻表 火车时刻表查询系统使用说明...

    春运来了,快过年了, 又到一年中最一票难求的时候了,在外辛辛苦苦打拼了一年,为了让大家尽早的和亲朋好友家人团聚,本人今年很英勇的出来帮大家代抢火车票啦! 特地为大家建立了一个捡漏票微信群, 加微信qq ...

  8. html制作学生成绩表,学生成绩查询系统的制作方法——Excel篇

    今天给大家分享一个学生成绩查询系统的制作方法,也是回答一位小伙伴的问题. 我们设计一个简单的模型,同类问题都可以套用这个模型. 话不多说,先上个效果图. 上图中,通过下拉菜单选中不同的姓名,调取不同的 ...

  9. flowable 查询完成的流程_中注协正在调试注册会计师成绩查询系统?

    昨天,税务师成绩正式公布,除了税务师考生有喜有忧之外,也让广大注册会计师考生更加着急.注册会计师成绩到底什么时候出呢?如果抛开中注协所说的12月下旬,那么本周五,即12月18号公布成绩也是大概率事件. ...

  10. 用java建立一个学生查询系统_一个简单的java学生寝室查询系统

    本文实例为大家分享了java学生寝室查询系统的具体代码,供大家参考,具体内容如下 前端部分: index.html ahpu freshman dormitory inquiry html,body{ ...

最新文章

  1. Linux 下杀毒软件 CPU 占用率为何持续升高?
  2. 为rm添加一个回收站|将linux下的rm命令改造成mv到指定的目录下
  3. ※归并排序(merge sort)
  4. B站就机房服务器故障道歉;罗永浩否认将启动自动驾驶项目;​亚马逊收购 Facebook 卫星互联网团队|极客头条...
  5. 自动驾驶“老司机”拼车技,MIT的这个比赛已经飙到了时速123公里
  6. 反向代理服务器的工作原理 (转)
  7. python-opencv有效随机角度旋转
  8. Golang并发编程进程通信channel了解及简单使用
  9. N个结点不同结构的二叉树个数
  10. 乱码 讯飞 语音识别_科大讯飞离线语音识别安装与运行
  11. FoxitReader3.0注册码和foxit pdf creator key foxit pdf editor v2.0 key
  12. 5分钟商学院-个人篇-谈判能力
  13. 《深度学习之美》推荐序:通俗也是一种美德
  14. UVALive 6922 Reverse Polish Notation
  15. Python爬虫(二十二)_selenium案例:模拟登陆豆瓣
  16. Android 开源OS
  17. ipv4地址的编码长度为_请问IPV4是什么意思???
  18. 通俗易懂,什么是.NET/.NET Framework/.NET Core/.Net Standard?
  19. 计算机软件系统包括数据库软件和应用软件,计算机软件系统包括()。A.程序、数据和相应的文档B.系统软件和应用软件C.数据库管理系统和数据库D....
  20. 记一次Redis被攻击的事件

热门文章

  1. null值是不会算在count以内的
  2. 用aspectJ 做了一次日志
  3. struts的体系结构
  4. [AutoSar]开发工具 Vector系列和EB系列
  5. 2.1 机器中数据的存储
  6. 汇编语言寄存器相关知识(AX/BX/CX/DX+mov/add+物理地址+段+CS/IP+jmp)
  7. Java中内存泄漏八种情况的总结
  8. 如何理解二次型?(转)
  9. MySQL主从复制故障1595报错【原创】
  10. selenium 自动化工具