Python判断⾝份证是否合法利⽤正则表达式实现对⾝份证合法程度的判断
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"""
15import re
16while(True):
python正则表达式判断
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)
20if brea != None :
up())
22print("你的⾝份证号码为:" + up())
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])  #截取性别奇数为男反之为⼥
27print("你的出⽣年⽇期为:%s" % year, month, day)
28if sex % 2 == 0:
29print("该⾝份证号码的持证⼈为⼥性")
30else:
31print("该⾝份证号码的持证⼈为男性")
32
33print("=" * 30)
34break
35else :
36print("匹配失败,请重新输⼊")