利用正则表达式实现对身份证合法程度的判断

 1 # !usr/bin/env python3
2 # coding:utf-8
3 """
4 @ Copyright (c)2020,高铁学院学生
5 @ All rightsreserved
6 @ Author: LingluSenior
7 @ Blog(个人学习网): xlcybk.github.io
8 @ WeChat Official Account(微信公众号): LingluSenior
9
10 @ File: idcard_legal.py
11 @ Time: 2020/5/28 10:48
12
13 @Motto: 不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
14 """
15 import re
16 while(True):
17 id_card = input("请输入身份证号码:")
18 key = "^[1-9]{2}\d{4}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$"
19 brea = re.match(key,id_card)
20 if brea != None :
21 print(brea.group())
22 print("你的身份证号码为:" + brea.group())
23 year = int(id_card[6:10]) # 截取年份
24 month = int(id_card[10:12]) # 截取月份
25 day = int(id_card[12:14]) # 截取日期
26 sex = int(id_card[16]) #截取性别奇数为男反之为女
27 print("你的出生年日期为:%s" % year, month, day)
28 if sex % 2 == 0:
29 print("该身份证号码的持证人为女性")
30 else:
31 print("该身份证号码的持证人为男性")
32
33 print("=" * 30)
34 break
35 else :
36 print("匹配失败,请重新输入")

最新文章

  1. Sql Server系列:系统函数
  2. UVA 11464 暴力+位运算 ***
  3. org.springframework.web.servlet.DispatcherServlet noHandlerFound
  4. Python模块和包
  5. 修复 XE8 Win 平台 Firemonkey Memo 卷动后会重叠的问题
  6. 小试牛刀2:JavaScript基础题
  7. 20160805_Win7x64刻录CentOS6.4x64启动光盘
  8. 纯css+js水平时间轴
  9. Linux下解决高并发socket最大连接数所受的各种限制(解除IO限制)
  10. android4.0下载问题
  11. Python 学习笔记7
  12. TOJ4114(活用树状数组)
  13. 《Netty5.0架构剖析和源码解读》【PDF】下载
  14. CRM项目-1模型与站点管理
  15. 阿里云API网关(6)用户指南(开放 API )
  16. PHP反射原理的实现
  17. CF_#478_Div.2_Hag's Khashba
  18. Lingo求解线性规划案例3——混料问题
  19. Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
  20. (七):处理MFC

热门文章

  1. 次小生成树 详解及模板 (仅kruskal)
  2. 终于可以像使用 Docker 一样丝滑地使用 Containerd 了
  3. git 让忽略.gitignore文件马上生效
  4. ThnikPHP3.2 学习链接整理
  5. SpringCloud之远程调用OpenFeign和Ribbon
  6. 病毒木马查杀实战第016篇:U盘病毒之逆向分析
  7. UVA11054Gergovia的酒交易
  8. Word 通过添加Package 实现word藏毒
  9. TLS实现代码段加密
  10. SqlServer 数据库配置远程桌面