这是一个基于Python的控制台应用程序,用于解析中国身份证号码并提取相关信息,包括地区信息、生日、性别等。
- ✅ 身份证号码验证:支持15位和18位身份证号码格式验证
- ✅ 地区信息提取:根据身份证前6位代码解析所在地区
- ✅ 生日信息计算:提取出生日期并计算年龄
- ✅ 性别判断:根据身份证号码判断性别
- ✅ 批量处理:支持批量解析多个身份证号码
- ✅ 用户友好界面:简洁的控制台菜单系统
- Python 3.6 或更高版本
- 无需额外依赖包(仅使用Python标准库)
python SFZ_Console.py运行程序后,您将看到以下菜单选项:
==================================================
身份证号码信息解析器 - 控制台版本
==================================================
1. 解析身份证号码
2. 批量解析身份证号码
3. 退出程序
==================================================
选择选项1后,输入身份证号码即可获得详细解析结果:
==================================================
身份证号码信息解析结果
==================================================
身份证号:110101199001011234
号码长度:18位
所在地区:未知地区(代码:110101)
出生日期:1990-01-01
出生年份:1990年
出生月份:01月
出生日期:01日
年龄:35岁
性别:男
==================================================
选择选项2后,可以连续输入多个身份证号码,输入完成后输入 done 开始批量解析。
选择选项3退出应用程序。
- 格式:6位地区码 + 6位出生日期(yymmdd) + 3位顺序码
- 示例:110101900101123
- 格式:6位地区码 + 8位出生日期(yyyymmdd) + 3位顺序码 + 1位校验码
- 示例:110101199001011234
- 地区信息:根据身份证前6位地区代码解析所在行政区域
- 生日信息:提取出生日期并自动计算当前年龄
- 性别信息:根据顺序码判断性别(奇数为男性,偶数为女性)
- 校验码:18位身份证号码会进行校验码验证
SFZ_Console.py # 主程序文件
README.md # 说明文档
validate_id_card()- 验证身份证号码格式get_area_info()- 获取地区信息get_birthday()- 获取生日信息get_gender()- 获取性别信息parse_id_card()- 完整解析身份证号码
show_menu()- 显示主菜单parse_single_id()- 解析单个身份证号码parse_batch_ids()- 批量解析身份证号码run()- 运行控制台应用程序
- 程序使用简化的地区代码映射,实际应用中可能需要完整的地区代码数据库
- 身份证号码验证遵循国家标准格式
- 年龄计算基于当前系统时间
- 程序会自动去除输入中的空格和特殊字符
本项目仅供学习和参考使用。
基于原始图形界面版本转换的控制台版本