| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2351 人关注过本帖, 2 人收藏
标题:用身份证号求各类信息,哪位大佬解答一下,最好每个地方有注释!
取消只看楼主 加入收藏
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
结帖率:0
收藏(2)
 问题点数:0 回复次数:1 
用身份证号求各类信息,哪位大佬解答一下,最好每个地方有注释!
1. 输入身份证号码,判断其合法性。如合法,显示出该号码所属省份、出生年月、年龄、性别、属相、星座以及天干地支。
身份证号的编码规则:
前1-2位数字表示:所在省(直辖市、自治区)的代码;
第3-4位数字表示:所在地级市(自治州)的代码;
第5-6位数字表示:所在区(县、自治县、县级市)的代码;
第7-14位数字表示:出生年、月、日;
第15-16位数字表示:所在地的派出所的代码;
第17位数字表示性别:奇数表示男性,偶数表示女性;
第18位数字是校检码:是用来检验身份证的正确性。校检码可以是0-9的数字,有时也用X表示。

合法性算法:
第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。
第二步:将第一步身份证号码1~17位相乘的结果求和,全部加起来。
第三步:用第二步计算出来的结果除以11,这样就会出现余数为0,余数为1,余数为2,余数为3,余数为4,余数为5,余数为6,余数为7,余数为8,余数为9,余数为10共11种可能性。
第四步:如果余数为0,那对应的最后一位身份证的号码为1;如果余数为1,那对应的最后一位身份证的号码为0;如果余数为2,那对应的最后一位身份证的号码为X;如果余数为3,那对应的最后一位身份证的号码为9;如果余数为4,那对应的最后一位身份证的号码为8;如果余数为5,那对应的最后一位身份证的号码为7;如果余数为6,那对应的最后一位身份证的号码为6;如果余数为7,那对应的最后一位身份证的号码为5;如果余数为8,那对应的最后一位身份证的号码为4;如果余数为9,那对应的最后一位身份证的号码为3;如果余数为10,那对应的最后一位身份证的号码为2。
搜索更多相关主题的帖子: 身份证号码 身份证 号码 位数 相乘 
2018-05-30 17:09
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
收藏
得分:0 
写出来了,谢谢啊
2018-06-03 16:18
快速回复:用身份证号求各类信息,哪位大佬解答一下,最好每个地方有注释!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012632 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved