大家好哇,又是一个愉快的周末,今天本鸟给大家分享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”获取。

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

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

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

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

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

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

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

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

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

  5. 利用python实现身份证号验证系统

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

  6. Java 身份证号验证

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

  7. PHP 身份证号验证是否是真实的

    已测试,90%左右的身份证号都可以检验出来是否是真实的身份证号,如果要求不高的话,可以不用在使用第三方的身份证号验证了封装的model 可以直接使用的 大家可以借鉴看一下,有问题可以及时指出 < ...

  8. 基于struts2框架-自定义身份证号验证器

    自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口.  > 可以选择继承 ValidatorSupport 或 FieldValidato ...

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

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

最新文章

  1. CF449B Jzzhu and Cities 迪杰斯特拉最短路算法
  2. Py之glob: glob库文件名模式匹配+返回所有匹配的文件路径列表库的简介、使用方法之详细攻略
  3. Nacos更新配置参数不生效
  4. go语言IP转换uint32,uint32转换IP
  5. MOCTF-Web-访问限制
  6. Cache的一些总结
  7. 【C++】C++标准中定义的名字和标识符
  8. spring cloud 资源
  9. AI 告别炒作,Java 0 增长,2021 技术路在何方?
  10. word把选择答案弄到题目里_一个极限案例弄明白为何“看答案都明白,做题目就是想不起来”...
  11. [BZOJ2006][NOI2010]超级钢琴
  12. 破解获取微信小程序源代码
  13. RHEL7平台下电信拨号上网配置
  14. 信息化系统软件实施工程师基础技能
  15. 数据库附加失败解决方法
  16. select 字符串
  17. java练习题_循环控制_成绩
  18. 圣诞节送朋友哪款蓝牙耳机好?高颜值蓝牙耳机推荐
  19. 2017 ACM Arabella Collegiate Programming Contest(solved 9/13, complex 12/13)
  20. Red Hat Enterprise Linux ISO 全镜像下载

热门文章

  1. 我靠海外拼DD(Temu)赚到了人生第一套房:这个风口行业,真的很赚钱
  2. detected dubious ownership in repository 问题解决
  3. 手游换皮发海外,如果规避游戏侵权风险?
  4. CakePHP 2.x CookBook 中文版 第六章 视图
  5. 项目协作平台Smartsheet获得5210万美元投资,估值8.52亿美元
  6. 多方面浅谈互联网技术
  7. 直接甲醇燃料电池,氢燃料电池的完美替代者?
  8. ​星巴克不是咖啡企业,而是数据科技公司?
  9. 单张人像生成视频!中国团队提出FaceAnime:最新3D人脸视频生成模型
  10. 逃离大厂的年轻人:下班后能看到太阳了