日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

16Aspx.com-将15位身份证转换成18位

發(fā)布時(shí)間:2024/3/24 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 16Aspx.com-将15位身份证转换成18位 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
16Aspx.com-將15位身份證轉(zhuǎn)換成18位 //********************************************************************************* //將15位身份證轉(zhuǎn)換成18位時(shí),首先把出生年擴(kuò)展4位,就是在原來15位號碼的第6為數(shù)字后 //增加一個19,然后在第17位數(shù)字后添加一位校驗(yàn)碼,校驗(yàn)碼是由前17位數(shù)字本體碼加權(quán)求 //和公式,通過計(jì)算模,再通過模得到對應(yīng)的校驗(yàn)碼。 //計(jì)算校驗(yàn)碼公式 //(1)17位數(shù)字本體碼加權(quán)求和公式 //S=Sum(Ai*Wi),i=0,...,16,先對前17位數(shù)字的權(quán)求和 //Ai:表示第i位置上的身份證號碼數(shù)字值 //Wi:表示第i位置上的加權(quán)因子 //Wi;7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 // //(2)計(jì)算模 //Y=mod(S,11) //(3)通過模得到對應(yīng)的校驗(yàn)碼 //Y:0 1 2 3 4 5 6 7 8 9 10 //校驗(yàn)碼:1 0 X 9 8 7 6 5 4 3 2 //***************************************************************************** /// <summary> /// 將15位的身份證號碼轉(zhuǎn)換成18位的身份證好碼 /// </summary> /// <param name="idCard">身份證號碼</param> /// <returns>返回18位身份證號碼</returns> public static string Convert15to18 (string idCard) { string code = idCard.Trim();//獲得身份證號碼 if (code.Length==15)//如果是15位則轉(zhuǎn)換 { char[] strJY ={ ''1'', ''0'', ''X'', ''9'', ''8'', ''7'', ''6'', ''5'', ''4'', ''3'', ''2'' }; int[] intJQ ={ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 }; string strTemp; int intTemp = 0; strTemp = code.Substring(0, 6) + "19" + code.Substring(6); for (int i = 0; i <= strTemp.Length - 1; i++) { intTemp = intTemp + int.Parse(strTemp.Substring(i, 1)) * intJQ[i]; } intTemp = intTemp % 11; return strTemp + strJY[intTemp]; } else { if (code.Length == 18)//如果是18位直接返回 { return code; } return string.Empty;//如果即不是15位也不是18位則返回空 } } /// <summary> /// 獲得出身年月日 /// </summary> /// <param name="idCard">身份證號碼</param> /// <returns>返回出身年月日</returns> public static string GetBirth(string idCard) { string code = Convert15to18(idCard);//獲得身份證號碼 if (code != string.Empty) { string year = code.Substring(6, 4);//獲得身份證號碼里面的年 string month = code.Substring(10, 2);//獲得身份證號碼里面的月 string day = code.Substring(12, 2);//獲得身份證號碼里面的日 return year + "年" + month + "月" + day + "日"; } else { return string.Empty; } }

  

posted on 2017-06-08 11:09 站長資源交易專業(yè)網(wǎng) 閱讀(...) 評論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/amomzk/p/6961789.html

總結(jié)

以上是生活随笔為你收集整理的16Aspx.com-将15位身份证转换成18位的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。