安装并导入依赖库

# 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. innodb引擎相关参数

    1.innodb_flush_log_at_trx_commit (双一标准之一) 作用:主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0.1.2 ...

  2. nexus 私服 设置本公司代理 记录

    index成功

  3. js 日期转为时间戳

    在js中,将一个字符转化成Date型也不是什么难事:var str = '2013-08-30'; // 日期字符串str = str.replace(/-/g,'/'); // 将-替换成/,因为下 ...

  4. String,String Builder,String Buffer-源码

    目录 String 源码分析 常用的API isEmpty() length() charAt() substring() equals() equals()与"==" inter ...

  5. Dapr 客户端 搭配 WebApiClientCore 玩耍服务调用

    使用Dapr 客户端 处理服务调用,需要遵循的他的模式,通常代码是这个样子的: var client = DaprClient.CreateInvokeHttpClient(appId: " ...

  6. java.lang.RuntimeException: Cannot create a secure XMLInputFactory 解决

    客户端调用服务端cxf,服务端报 java.lang.RuntimeException: Cannot create a secure XMLInputFactory 我的cxf 版本 为  3.0. ...

  7. linux中的dhcp

    目录 一.DHCP服务 二.DHCP的租约过程 三.使用DHCP动态配置主机地址 四.安装DHCP服务器 一.DHCP服务 ① DHCP (Dynamic HostConfiguration Prot ...

  8. Android招聘市场技术要求越来越高,从事三年开发是否应该考虑转行?

    这是在某论坛看到的一个网友的疑问,他说感觉现在Android 开发这条路越来越难走了.下面是他的分享: 本来已经做好了好几个月找不到工作的准备.不过这两周感觉面试机会还算可以.两周10个面试感觉刚刚好 ...

  9. 为什么npm install 经常失败

    Hello 您好,我是大粽子.深耕线上商城的攻城狮(程序员)一枚. 前言 这段时间真的是忙,最近能抽时间搞搞大家在自己环境中遇到的各种问题了,我呢就是见不得我的代码在你的电脑运行不起来的.就像姜子牙睡 ...

  10. Convert a Private Project on bitbucket.com to a github Public Project

    Create a public repo on github, you can add README or License files on the master branch, suppose th ...