介绍:
可以解析身份证,获取身份证的省,市,区信息,年龄,性别,生日信息
import re
from datetime import datetime
import json
class IDCardParserUtil:
def __init__(self):
pass
# 身份证号码前6位对应省市区编码
id_card_area_codes = {
}
@staticmethod
def parseIdCard(id_card):
# 从文件加载身份证号码前6位对应省市区编码
with open('../files/id_card_area_codes.json', 'r', encoding='utf-8') as f:
IDCardParserUtil.id_card_area_codes =json.load(f)
# 定义身份证号码的正则表达式模式
pattern = r'^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$'
# 使用正则表达式匹配身份证号码
if not re.match(pattern, id_card):
raise ValueError("身份证号码格式不正确 id_card: "+id_card)
# 提取前6位作为省市区编码
area_code = id_card[:6]
province = IDCardParserUtil.id_card_area_codes.get(area_code[:2] + &