Python输入身份证号输出对应的出生年月日
时间: 2024-09-26 16:09:52 浏览: 170
在Python中,处理身份证号码通常涉及到正则表达式来验证其格式,并从中提取出生日期信息。中国的身份证号码由18位数字组成,前6位代表地区,接下来8位为出生日期,最后4位为校验码。提取出生日期的基本步骤如下:
```python
import re
def get_birth_date(id_card):
if not isinstance(id_card, str) or len(id_card) != 18:
return "无效的身份证号码"
# 定义正则表达式匹配出生日期
pattern = r"(\d{6})(\d{4})(\d{2})(\d{2})"
match = re.match(pattern, id_card)
if match:
birth_year = int(match.group(2))
birth_month = int(match.group(3))
birth_day = int(match.group(4))
return f"{birth_year}-{birth_month:02d}-{birth_day:02d}"
else:
return "无法解析出生日期"
# 示例
id_num = "110101199012310012"
print(get_birth_date(id_num)) # 输出:1990-12-31
```
这个函数会检查输入的字符串是否符合身份证号的格式,并从匹配的结果中提取出出生年、月、日。请注意,在实际应用中,为了更严谨地处理,还需要对输入进行有效性检查,例如校验码的计算。
阅读全文