首页 > 编程语言 >python - 验证身份证合法性

python - 验证身份证合法性

时间:2024-11-24 23:56:27浏览次数:8  
标签:合法性 python 18 身份证号 合法 valid 身份证 id validator

可以使用id_validator库

1. 验证身份证号合法性

验证身份证号是否合法,合法返回 True,不合法返回 False

from id_validator import validator

validator.is_valid('440308199901101512') # 大陆居民身份证 18 位
validator.is_valid('610104620927690')    # 大陆居民身份证 15 位
validator.is_valid('810000199408230021') # 港澳居民居住证 18 位
validator.is_valid('830000199201300022') # 台湾居民居住证 18 位

2. 获取身份证号信息

当身份证号合法时,返回分析信息(地区、出生日期、星座、生肖、性别、校验位),不合法返回 False

from id_validator import validator

validator.get_info('440308199901101512') # 18 位
validator.get_info('610104620927690')    # 15 位

返回信息如下

{
'address_code'   : '440308',                   # 地址码
'abandoned'      : 0,                          # 地址码是否废弃,1 为废弃的,0 为正在使用的
'address'        : '广东省深圳市盐田区',          # 地址
'address_tree'   : ['广东省', '深圳市', '盐田区'] # 省市区三级列表
'age'            : 21,                          # 年龄,当前的年份减去出生年份,例:2020-1999=21
'birthday_code'  : '1999-01-10',               # 出生日期
'constellation'  : '摩羯座',                    # 星座
'chinese_zodiac' : '卯兔',                      # 生肖
'sex'            : 1,                          # 性别,1 为男性,0 为女性
'length'         : 18,                         # 号码长度
'check_bit'      : '2'                         # 校验码
}

标签:合法性,python,18,身份证号,合法,valid,身份证,id,validator
From: https://www.cnblogs.com/wstong2052/p/18566626

相关文章

  • Python 基于 opencv 的疲劳检测系统的研究与设计
    博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌......
  • python+Django+MySQL+echarts+bootstrap制作的教学质量评价系统,包括学生、老师、管理
    项目介绍该教学质量评价系统基于Python、Django、MySQL、ECharts和Bootstrap技术,旨在为学校或教育机构提供一个全面的教学质量评估平台。系统主要包括三种角色:学生、老师和管理员,每个角色有不同的功能权限。学生角色:学生可以通过该平台对所选课程进行评价,评价内容包括老师的......
  • Python字典默认值处理的优雅艺术
    在Python编程中,字典是最常用的数据结构之一,它就像我们生活中的图书目录,通过索引可以快速找到对应的内容。但在实际开发中,经常会遇到一个问题:当我们要查找的键不存在时,该如何优雅地处理?传统的处理方式许多程序员,特别是初学者,习惯用if-else来处理这种情况:user_scores={'Ali......
  • Python编程技巧:多变量赋值的优雅艺术
    在Python编程的世界里,有许多令人惊叹的语法特性,而多变量赋值就像是一颗闪耀的明珠,它不仅让代码更优雅,还能提升程序的执行效率。今天我们就深入探讨这个看似简单却蕴含深意的编程技巧。基础认识传统的变量赋值方式,我们都很熟悉:x=1y=2z=3但Python提供了一种更简洁......
  • Python变量交换的艺术:从基础到进阶的优雅之道
    在Python编程世界里,变量交换是一个非常基础但又充满智慧的话题。让我们深入探讨这个看似简单却蕴含丰富内涵的编程技巧。基础交换方式传统编程语言中,交换两个变量的值通常需要使用临时变量:x=10y=20temp=xx=yy=tempprint(x,y)#输出:2010这种方式虽然直......
  • python本地保存浏览器文件夹
    BIGSMATER/local-bookmark其实就是找到本地文件,json解析然后dfs,文件名上有点坑,暴力替换即可importjsonimportosfromseleniumimportwebdriver#refs:#https://blog.csdn.net/Demonslzh/article/details/125062240#https://www.cnblogs.com/superhin/p/12600358.html......
  • Python学习笔记(4)Python多线程
    线程可以分为:内核线程:由操作系统内核创建和撤销。用户线程:不需要内核支持而在用户程序中实现的线程。Python3线程中常用的两个模块为:_threadthreading(推荐使用)_thread提供了低级别的、原始的线程以及一个简单的锁,它相比于threading模块的功能还是比较有限的......
  • python语法第二篇
    练习:输入一个长字符串,判断其中数字的个数。#输入一个长字符串,判断其中数字的个数。s1=input("请输入一个包含字母和数字的字符串:")#wdqwddwq78dq9fas868qw997fsa75qwf89f8av9a0gggw8q68num=0#定义一个变量用于计数数字的个数foriins1:#字符串是可以直接被for......
  • Python中print()函数的使用
    目录print函数的使用场景python中的格式化输出为什么需要格式化输出百分号输出format方法格式输出foramt的基本语法format的简写语法如何确定什么时候使用百分号格式化和format格式化print函数的使用场景首先有代码基础的,都习惯上在编写代码上习惯性加一个print()函......
  • D78【 python 接口自动化学习】- python基础之HTTP
    day78pycharm创建项目并进行接口请求学习日期:20241124学习目标:http定义及实战--pycharm创建项目并进行接口请求学习笔记:安装requests安装方式:pip/pip3installrequests官网教程:Requests:HTTPforHumans™—Requests2.32.3documentation安装方式方法一:终端安......