python身份证系统_(二)Python GUI实战:身份证信息校验系统

本文介绍了一个使用Python的Tkinter模块开发的GUI项目,旨在创建一个身份证信息校验系统。该系统能解析身份证号码的地区、出生日期、性别,并进行合法性校验。通过输入18位身份证号码,系统会展示有效性、性别、出生日期和地区信息。项目分为几个部分,包括界面设计、身份证号码结构解释、实现界面类和功能类,以及校验逻辑的详细步骤。
摘要由CSDN通过智能技术生成

这是一个用Python开发的GUI实战项目:居民身份证信息校验系统

一、总体介绍

本项目使用Tkinter作为GUI模块,充分利用Python面向对象的思想,开发一款实现身份证号码校验的应用程序。具备解析用户输入的身份证号码中的地区信息、出生日期、以及身份证号码是否合法等功能。是练习Python面向对象思想、tkinter GUI模块的优质练手项目。

项目演示

4.gif

以上,如果我们输入一个正确的身份证号码,系统可以正常解析;但是篡改其中一位的话,校验结果直接显示无效;如果少输入一位的话,系统会提示“请输入18位”。

二、认识身份证号码

身份证号码的构成如下:

屏幕快照 2020-08-12 上午12.40.47.png

(1)地区码:身份证前6位就是地区码,中国每一个地区都对应一个地区码,按照GB/T2260执行。通常1开头为华北地区、2开头为东北地区、3开头为华东地区、4开头为华中地区和华南地区、5开头为西南地区、6开头为西北地区、7和8开头为特别地区。

(2)出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,年月日代码之间不用分隔符。

(3)顺序码:表示在同一地址码所标识的区域范围内,对同年同月同日出生的人编订的顺序号,顺序码的奇数分配给男性、偶数分配给女性。

(4)校验码:身份证第18位是校验码,对前17位做一个运算,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码得到第18位的数字。

校验方法:

屏幕快照 2020-08-16 下午2.50.41.png

屏幕快照 2020-08-12 上午12.59.42.png

三、实现界面类:IDCheckGUI

在工程项目中新建一个idcheckgui.py的文件用来生成GUI界面

from tkinter import *

from tkinter.ttk import *

import os

class IDCheckGUI(Tk):

def __init__(self):

super().__init__()

self.title("身份证信息校验系统")

self.geometry("800x510+400+200")

self.resizable(0,0)

self["bg"] = "whitesmoke"

self.setup_UI()

def setup_UI(self):

self.style01 = Style()

self.style01.configure("input.TLabel",font=("微软雅黑",20,"bold"))

self.style01.configure("TLabel",font=("微软雅黑",20,"bold"),foreground = "navy")

self.style01.configure("TButton",font=("微软雅黑",20,"bold"),background = "lightblue")

# 图片

self.Login_image = PhotoImage(file = "."+os.sep

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值