C#身份證號(hào)碼驗(yàn)證是否正確
C#實(shí)現(xiàn)身份證號(hào)碼驗(yàn)證實(shí)例代碼:
protected void Page_Load(object sender, EventArgs e) { string str = "11010519491231002X"; bool result = CheckCardId(str); if (result == true) { Response.Write("Yes!"); } else { Response.Write("No!"); } } /// <summary> /// 驗(yàn)證身份證是否正確 /// </summary> /// <param name="str"></param> /// <returns></returns> private static bool CheckCardId(string str) { string number17 = str.Substring(0, 17); string number18 = str.Substring(17); string check = "10X98765432"; int[] num = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }; int sum = 0; for (int i = 0; i < number17.Length; i++) { sum += Convert.ToInt32(number17[i].ToString()) * num[i]; } sum %= 11; if (number18.Equals(check[sum].ToString(), StringComparison.OrdinalIgnoreCase)) { return true; } else { return false; } }
18位身份證號(hào)碼最后一位校驗(yàn)碼的計(jì)算方法公民身份號(hào)碼是特征組合碼,由十七位數(shù)字本體碼和一位校驗(yàn)碼組成。排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位數(shù)字校驗(yàn)碼。
校驗(yàn)方法:
(1)十七位數(shù)字本體碼加權(quán)求和公式S = Sum(Ai * Wi), i = 0, ... , 16 ,先對(duì)前17位數(shù)字的權(quán)求和Ai:表示第i位置上的身份證號(hào)碼數(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)通過(guò)模得到對(duì)應(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
以上就是關(guān)于C#實(shí)現(xiàn)身份證號(hào)碼驗(yàn)證的方法,希望對(duì)大家的學(xué)習(xí)有所幫助。
- C#實(shí)現(xiàn)身份證號(hào)碼驗(yàn)證的方法
- C#實(shí)現(xiàn)驗(yàn)證身份證是否合法的方法
- C#驗(yàn)證身份證的函數(shù)
- 使用C#寫(xiě)了一個(gè)可以推算火車(chē)票身份證號(hào)碼的小程序
- 基于C#技術(shù)實(shí)現(xiàn)身份證識(shí)別功能
- C#身份證識(shí)別相關(guān)技術(shù)功能詳解
- C#驗(yàn)證身份證號(hào)碼正確性的實(shí)例代碼(收藏)
- C#實(shí)現(xiàn)身份證驗(yàn)證功能的示例代碼
- C#實(shí)現(xiàn)身份證實(shí)名認(rèn)證接口的示例代碼
相關(guān)文章
c#求點(diǎn)到直線的投影點(diǎn)坐標(biāo)
這篇文章主要介紹了c#求直線外一點(diǎn)到該直線的投影點(diǎn),大家參考使用吧2013-12-12C#版的 Escape() 和 Unescape() 函數(shù)分享
從網(wǎng)上看到兩個(gè)方法, C# 版的 Escape() 和 Unescape(),收藏下。2011-05-05使用C# CefSharp Python采集某網(wǎng)站簡(jiǎn)歷并且自動(dòng)發(fā)送邀請(qǐng)短信的方法
這篇文章主要給大家介紹了關(guān)于如何使用C# CefSharp Python采集某網(wǎng)站簡(jiǎn)歷并且自動(dòng)發(fā)送邀請(qǐng)短信的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2019-03-03C# listview 點(diǎn)擊列頭排序的實(shí)例
下面小編就為大家?guī)?lái)一篇C# listview 點(diǎn)擊列頭排序的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01