C#身份证号码验证是否正确

 更新时间:2021年01月29日 08:31:38   投稿:lijiao  
这一篇关于C#语言验证18位身份证号码的验证方法和实例代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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#使用timer实现的简单闹钟程序

    C#使用timer实现的简单闹钟程序

    这篇文章主要介绍了C#使用timer实现的简单闹钟程序,涉及timer控件的使用及音频文件的操作技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • 一文带你了解WPF中的附加事件

    一文带你了解WPF中的附加事件

    附加事件可用于在非元素类中定义新的 路由事件 ,并在树中的任何元素上引发该事件。本文通过简单的示例为大家讲解一下WPF附加事件的用法,需要的可以参考一下
    2022-12-12
  • PropertyGrid自定义控件使用详解

    PropertyGrid自定义控件使用详解

    这篇文章主要为大家详细介绍了PropertyGrid自定义控件的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • C#使用RestSharp实现封装常用的http请求方法

    C#使用RestSharp实现封装常用的http请求方法

    这篇文章主要为大家详细介绍了C#如何使用RestSharp实现封装常用的http请求方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2024-02-02
  • DevExpress中GridControl列转义的实现方法

    DevExpress中GridControl列转义的实现方法

    这篇文章主要介绍了DevExpress中GridControl列转义的实现方法,在项目开发中有一定的实用价值,需要的朋友可以参考下
    2014-08-08
  • C#零基础开发中最重要的概念总结

    C#零基础开发中最重要的概念总结

    这篇文章主要为大家详细介绍了C#零基础开发中最重要的一些概念,文中的示例代码讲解详细,对我们学习C#有一定的帮助,需要的可以参考一下
    2023-02-02
  • C#添加、读取Word脚注尾注的方法

    C#添加、读取Word脚注尾注的方法

    这篇文章主要为大家详细介绍了C#添加、读取Word脚注尾注的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • c# xml转word的实现示例

    c# xml转word的实现示例

    这篇文章主要介绍了c# xml转word的实现示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • 使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的方法

    使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的方法

    这篇文章主要给大家介绍了关于如何使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2019-03-03
  • C#使用RichTextBox实现替换文字及改变字体颜色功能示例

    C#使用RichTextBox实现替换文字及改变字体颜色功能示例

    这篇文章主要介绍了C#使用RichTextBox实现替换文字及改变字体颜色功能,结合实例形式洗了C#中RichTextBox组件文字替换及改变字体颜色相关操作技巧,需要的朋友可以参考下
    2019-02-02

最新评论