# Android身份证号分析 **Repository Path**: xunyinlang/idanalysis ## Basic Information - **Project Name**: Android身份证号分析 - **Description**: 一款用于分析身份证号码包含信息的Android程序。 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2022-06-23 - **Last Updated**: 2022-06-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IDAnalysis ### 介绍 一款用于分析身份证号码包含信息的Android程序。 1. 能够根据输入的身份证号分析出其中包含的:地区,生日,性别,预测受教育阶段等信息; 2. 能够输入2~6位地区码查询所对应的地区(省(区),市,县(区)). ### 软件架构 未使用任何架构 ### 安装教程 1. 在线编译 2. 下载APK文件到Android手机上 3. 安装即可 ### 使用说明 1. 输入身份证号点击相应按钮即可 2. 目前不太完善 ### 主要功能 #### 18位身份证校验码计算 1. 将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2并求和得S ; 2. 校验码 = (12-S%11)%11 . #### 最高学历预测 1. 参考《中华人民共和国义务教育法》第十一条  "凡年满六周岁的儿童,其父母或者其他法定监护人应当送其入学接受并完成义务教育;条件不具备的地区的儿童,可以推迟到七周岁。"所以锚定小学入学年龄为六岁周,且按照大多数情况,小学读6年 高中读3年 大学读4年,参考《2010年第六次全国人口普查主要数据公报(第1号)》文件大多数人都是大学或大学以下学历,所以预测到大学。 0—6岁(不含):学前教育(含幼儿园) 6—12岁(不含):小学 12—15岁(不含):初中 15—18岁(不含):高中 18岁以上:大学 ### 开发环境 Mac OS Windows10(64bit) Android Studio 4.1 Vs Code 1.51.1 ### 参与贡献 独立开发 ### 参考资料 1. [博客园 Java计算年龄](https://www.cnblogs.com/a7e7/p/13996634.html) 2. [百度百科 居民身份证号码](https://baike.baidu.com/item/%E5%B1%85%E6%B0%91%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8F%B7%E7%A0%81) 3. [百度百科 身份证校验位](https://baike.baidu.com/item/%E8%BA%AB%E4%BB%BD%E8%AF%81%E6%A0%A1%E9%AA%8C%E4%BD%8D) 4. [国家标准全文公开系统 GB 11643-1999公民身份号码](http://www.gb688.cn/bzgk/gb/newGbInfo?hcno=080D6FBF2BB468F9007657F26D60013E) 5. [百度百科 身份证校验码](https://baike.baidu.com/item/%E8%BA%AB%E4%BB%BD%E8%AF%81%E6%A0%A1%E9%AA%8C%E7%A0%81) 6. [b站 【回形针PaperClip】如何成为一个有身份的人?](https://www.bilibili.com/video/BV1pJ411t7eh) 7. [中国人大网 中华人民共和国义务教育法](http://www.npc.gov.cn/npc/c30834/201901/21b0be5b97e54c5088bff17903853a0d.shtml) 8. [国家统计局 2010年第六次全国人口普查主要数据公报(第1号)](http://www.stats.gov.cn/tjsj/tjgb/rkpcgb/qgrkpcgb/201104/t20110428_30327.html) ### 其他 如有问题或建议可以直接项目下评论留言或者发邮件到paolongzhuge@qq.com ### 随便写的,完成后看着删 1. 地址码查询(2位)(测试) ```sqlite select AreaCode,UnitName from AreaCodeTable where ProvinceCode = 45; ``` 2. 地址码查询(4位)(测试) ```sqlite select AreaCode,UnitName from AreaCodeTable where ProvinceCode = 45 AND LandCode = 4; ``` 3. 地址码查询(6位)(测试) ```sqlite select AreaCode,UnitName from AreaCodeTable where AreaCode = 450422; ``` 4. 地址码查询(地名)(测试) ```sqlite select AreaCode,UnitName from AreaCodeTable where UnitName like '%南宁%'; ```