安装并导入依赖库

# pip install parseIdCard

from parseIdCard import parseIdCard

from pprint import pprint

地区码校验

# 地区码数字校验
result = parseIdCard.parseArea(893116)
pprint(result)
# {'area': '未知地区编码', 'code': 'Error', 'id': '893116'} # 地区码列表校验
result = parseIdCard.parseArea(['420116','430091'])
pprint(result)
# [{'area': '湖北武汉市黄陂区', 'code': 'OK', 'id': '420116'},
# {'area': '未知地区编码', 'code': 'Error', 'id': '430091'}] # 地区码字符串校验
result = parseIdCard.parseArea('420116,430091')
pprint(result)
# [{'area': '湖北武汉市黄陂区', 'code': 'OK', 'id': '420116'},
# {'area': '未知地区编码', 'code': 'Error', 'id': '430091'}]

性别校验

# 性别数字校验
result = parseIdCard.parseGender(1)
pprint(result)
# {'code': 'OK', 'gender': '男', 'id': '1'} # 性别列表校验
result = parseIdCard.parseGender(['1','X'])
pprint(result)
# [{'code': 'OK', 'gender': '男', 'id': '1'},
# {'code': 'Error', 'gender': '非法性别编码', 'id': 'X'}]

出生日期校验

# 出生年月数字校验
result = parseIdCard.parseBirthdate(199301231)
pprint(result)
# {'age': '出生日期应该为8位', 'code': 'Error', 'id': '199301231'} # 出生年月列表校验
result = parseIdCard.parseBirthdate(['199301231','20200131'])
pprint(result)
# [{'age': '出生日期应该为8位', 'code': 'Error', 'id': '199301231'},
# {'age': 1, 'code': 'OK', 'id': '20200131'}]

身份证编码校验

【阅读全文】

【粉丝福利】关注公众号,获取全套视频资料!

● os用法总结:python中必须掌握的内置模块os,实现与计算机操作系统的常规交互!

● python 实用技巧:几十行代码将照片转换成素描图、随后打包成可执行文件(源码分享)

● python十行代码实现文件去重,去除重复文件的脚本

● python的GUI框架tkinter,实现程序员的流氓式表白逻辑

● 探究python函数的不定长参数*args与**kwargs

● 没有深思过的python冷知识你知道几个?

● python图片处理,自动生成gif动态图片

● python-redis 的操作手法,相当简单的redis数据存储方式!

● python 日期、时间处理,各种日期时间格式/字符串之间的相互转换究竟是怎样的?

● python 内置的数据计数器Counter相当nice

● 几十行代码实现python发送邮件与接收邮件

● 没有开发工具,在服务器控制台如何进行python代码调试,高级编程pdb代码调试!

● 梳理python路线知识盲区,最全面、最详细的python知识体系框架思维导图终于出炉了!

● python中的set集合,元素的CRUD处理,交集/差集/并集计算,不只是能去重!

本文由微信公众号【python 集中营】发布,更多精彩文章、视频资料即可领取!

python 中最好用的身份证规则解析工具,地区码、性别、出生年月、身份证编码等快速校验!的更多相关文章

  1. Python中最好用的命令行解析工具:argparse

    Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...

  2. 详解 Python 中的下划线命名规则

    在 python 中,下划线命名规则往往令初学者相当 疑惑:单下划线.双下划线.双下划线还分前后……那它们的作用与使用场景 到底有何区别呢?今天 就来聊聊这个话题. 1.单下划线(_) 通常情况下,单 ...

  3. Python中sort和sorted函数代码解析

    Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...

  4. Python中使用__new__实现单例模式并解析

    阅读文章前请先阅读 Python中类方法.__new__方法和__init__方法解析 单例模式是一个经典设计模式,简要的说,一个类的单例模式就是它只能被实例化一次,实例变量在第一次实例化时就已经固定 ...

  5. python中的if __name__=='__main__': main()解析

    python中我们会看到一段代码是这样的: if __name__=='__main__': main() 这段代码的什么意思,我们可以知道代码的意思是如果__name__=='__main__'为T ...

  6. 关于爬虫中常见的两个网页解析工具的分析 —— lxml / xpath 与 bs4 / BeautifulSoup

    http://www.cnblogs.com/binye-typing/p/6656595.html 读者可能会奇怪我标题怎么理成这个鬼样子,主要是单单写 lxml 与 bs4 这两个 py 模块名可 ...

  7. java基础71 XML解析中的【DOM和SAX解析工具】相关知识点(网页知识)

    本文知识点(目录):本文下面的“实例及附录”全是DOM解析的相关内容 1.xml解析的含义    2.XML的解析方式    3.xml的解析工具    4.XML的解析原理    5.实例    6 ...

  8. python中if __name__ == "__main__":用法解析

    __name__: __name__作为模块的内置属性,简单点说呢,就是.py文件的调用方式. __main__: 如果__name__等于"__main__"就表示是直接执行. ...

  9. python 中and,or计算规则

    and :如果表达式都不为假,则返回最后一个表达式的值,如果为假返回第一个表达式为假的值.(遇到假的表达式就返回此表达式的值) or :如果都为假,,返回最后一个假表达式的值,如果有真,则返回第一个真 ...

随机推荐

  1. OOP-Klass模型 简略

    class Model { public static int a = 1; public int b; public Model(int b) { this.b = b; } } public st ...

  2. phpmyadmin error:#2002 - 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置)

    1. 将 "phpMyAdmin/libraries"文件夹下的config.default.php文件中的$cfg['Servers'][$i]['host'] = 'local ...

  3. 图文实例解析,InnoDB 存储引擎中行锁的三种算法

    前文提到,对于 InnoDB 来说,随时都可以加锁(关于加锁的 SQL 语句这里就不说了,忘记的小伙伴可以翻一下上篇文章),但是并非随时都可以解锁.具体来说,InnoDB 采用的是两阶段锁定协议(tw ...

  4. Salesforce Integration 概览(五) Remote Call-In(远程操作 外部->salesforce)

    本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 本篇博客介绍 Re ...

  5. JVM学习笔记-第六章-类文件结构

    JVM学习笔记-第六章-类文件结构 6.3 Class类文件的结构 本章中,笔者只是通俗地将任意一个有效的类或接口锁应当满足的格式称为"Class文件格式",实际上它完全不需要以磁 ...

  6. Linux 基础学习篇笔记 Linux基础知识

    哎呀,翻到第一篇,映出眼帘的标题:从Unix到Linux(我就知道学习不能急,不能像我,看个简介,就赶忙去查了,原来作者在这里给出详细的介绍了) 1.1根据书上写的,原来linux的内核是被Linus ...

  7. pikachu RCE远程系统命令执行

    远程系统命令执行 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如我们常见的路由器.防火墙.入侵检测等设备的web管理界面上一般会给用户提供一个ping操作的web界 ...

  8. Mysql使用存储过程快速添加百万数据

    前言 为了体现不加索引和添加索引的区别,需要使用百万级的数据,但是百万数据的表,如果使用一条条添加,特别繁琐又麻烦,这里使用存储过程快速添加数据,用时大概4个小时. 创建一个用户表 CREATE TA ...

  9. 2018秋招C/C++面试题总结

    一.C和C++的区别是什么? C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛.C中函数不能进行重载,C++函数可以重载C++在C的基础上增添类,C是一个结构化语言,它 ...

  10. 基于WindowsService的WebSocket编程Demo

    一.什么是WebSocket WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端.说了半天也就是说有了它 ...