星空网 > 软件开发 > ASP.net

身份证号码15位转18位 C#实现

【身份证最后一位神秘X的由来】身份证中的“冷知识”
1999年的今天,《国务院关于实行公民身份号码制度的决定》被发布,当年10月1日实施。为什么有的有X?这位数是根据前17位计算出的校验码。如某人尾号是0-9,不会有X,如是10,则用X代替。Ⅹ是罗马数字的10,这能保证身份证号不多位。

/// <summary>/// 转换15位身份证号码为18位/// </summary>/// <param name="oldIDCard">15位的身份证</param>/// <returns>返回18位的身份证</returns>private string IDCard15To18(string oldIDCard){  int iS = 0;   //加权因子常数  int[] iW = new int[] { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };  //校验码常数  string LastCode = "10X98765432";  //新身份证号  string newIDCard;   newIDCard = oldIDCard.Substring(0, 6);  //填在第6位及第7位上填上‘1’,‘9’两个数字  newIDCard += "19";   newIDCard += oldIDCard.Substring(6, 9);   //进行加权求和  for (int i = 0; i < 17; i++)  {    iS += int.Parse(newIDCard.Substring(i, 1)) * iW[i];  }   //取模运算,得到模值  int iY = iS % 11;  //从LastCode中取得以模为索引号的值,加到身份证的最后一位,即为新身份证号。  newIDCard += LastCode.Substring(iY, 1);  return newIDCard;}

 




原标题:身份证号码15位转18位 C#实现

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

意大利海外仓:https://www.goluckyvip.com/tag/6076.html
竞争小成本低:https://www.goluckyvip.com/tag/6077.html
小A聊:https://www.goluckyvip.com/tag/6078.html
Airwallex:https://www.goluckyvip.com/tag/6079.html
Tabby:https://www.goluckyvip.com/tag/608.html
卖家叫苦:https://www.goluckyvip.com/tag/6080.html
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
南美旅游报价(探索南美洲的旅行费用):https://www.vstour.cn/a/411234.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流