'''
身份证的判定规则
1.1.1 地址码规则:
地址码长6位
以数字1-9开头
1.1.2 年份码规则:
年份码长4位
以数字18,19或20开头
1.1.3 月份码规则:
月份码长2位,介于01-12之间
1.1.4 日期码规则:
日期码长2位,介于01-31之间
根据前位月份不同,后位日期有不同建制条件
闰年2月29天,平年2月28天(闰年:能被4整除但不能被100整除的年份为普通闰年)
大月31天(1,3,5,7,8,10,12)
小月30天(2,4,6,9,11)
1.1.5 顺序码规则:
顺序码长3位的数字,通过它可以判定性别
1.1.6 校验码规则:
校验码长1位
可以是数字,字母x或字母X
'''
# 身份证合规验证
while True:
my_text = input('请输入待验证的身份证号码:')
my_text=my_text.strip() # 去除字符串两端无意输入的空格
my_bol = True
if len(my_text) == 18: # 总长度判定
if my_text[:17].isnumeric(): # 前17位是否均为数字的判定
if my_text[:1]=='0': # 首位数字不能为0的判定
print('【NG】区域码首位数字不能为0 !')
else:
if my_text[6:8] in ['18',
验证身份证的合规性
最新推荐文章于 2023-12-07 10:51:02 发布