版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
B/S专栏收录该内容
21 篇文章0 订阅
订阅专栏
身份证具有明显的代表唯一性,通过身份证号可以获取到哪些信息?社保在校验添加缴费人信息时,需要根据输入的身份证号获取信息,格式验证通过后将获取到的信息填充。这就需要了解一些规格。
现在新一代的身份证居多,这里以18位的新身份证为例,第十五位到十七位(也可理解判断倒数第二位的奇偶数)是奇数为男,偶数为女。(不信可以查看自己的身份证号核实)
前六位:是第一次领取民身份证时的常住户口所在县(市、旗、区)的行政区划代码。(所有区域的编码可以到这个网站http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201703/t20170310_1471429.html查询到最新的县及县以上的行政编码资料。)首先前两位代码省份:11——北京 12——天津 13——河北 14——山西 15——内蒙古自治区 另四位代表你户口所在的市县。
第七位到第十四位表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如:1981年05月11日就用19810511表示。
第十五为到十七位:判断性别的神数字。奇数为男性,偶数为女性。
最后一位:是根据前面十七位数字码,按照ISO7064:1983.MOD11-2校验码计算出来的检验码(通常是1,0,x,9,8,7,6,5,4,3,2)。
代码:
public static bool CheckChinaIDCardNumberFormat(string idCardNumber) { string idNumber = idCardNumber; bool result = true; try { if (idNumber.Length != 18) { return false; } long n = 0; if (long.TryParse(idNumber.Remove(17), out n) == false || n