从键盘输入一个身份证号码的字符串,编程检验是否有18位,并输出其对应出生年月日。
时间: 2024-03-30 11:34:45 浏览: 15
好的,我可以为您提供一个 Python 代码实现,如下所示:
```python
import re
from datetime import datetime
def check_ID(id_str):
# 判断是否为18位
if len(id_str) != 18:
print("身份证号码应为18位!")
return
# 判断出生年月日是否合法
birth_str = id_str[6:14]
try:
birth_date = datetime.strptime(birth_str, '%Y%m%d')
except ValueError:
print("身份证号码中的出生年月日不合法!")
return
# 输出出生年月日
print("出生年月日为:", birth_date.strftime('%Y年%m月%d日'))
# 测试
id_str = input("请输入身份证号码:")
check_ID(id_str)
```
使用时,只需调用 `check_ID` 函数,并传入身份证号码的字符串作为参数即可。此函数会判断输入的字符串是否为18位,若是,则会提取出其中的出生年月日,并判断其是否合法,若合法则输出该日期。若输入的字符串不为18位,则会提示“身份证号码应为18位!”;若出生年月日不合法,则会提示“身份证号码中的出生年月日不合法!”。
希望这个代码能够帮到您!