雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

C#身份證號碼驗證是否正確

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

C#實現身份證號碼驗證實例代碼:

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>
/// 驗證身份證是否正確 
/// </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位身份證號碼最后一位校驗碼的計算方法公民身份號碼是特征組合碼,由十七位數字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。

校驗方法:

(1)十七位數字本體碼加權求和公式S = Sum(Ai * Wi), i = 0, ... , 16 ,先對前17位數字的權求和Ai:表示第i位置上的身份證號碼數字值Wi:表示第i位置上的加權因子Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

(2)計算模Y = mod(S, 11)

(3)通過模得到對應的校驗碼Y: 0 1 2 3 4 5 6 7 8 9 10校驗碼: 1 0 X 9 8 7 6 5 4 3 2

以上就是關于C#實現身份證號碼驗證的方法,希望對大家的學習有所幫助。

上一篇:C#中的事務用法實例分析

欄    目:C#教程

下一篇:C#基于UDP實現的P2P語音聊天工具

本文標題:C#身份證號碼驗證是否正確

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6937.html

網頁制作CMS教程網絡編程軟件編程腳本語言數據庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網 版權所有