搜索
首页后端开发C#.Net教程C#关于验证身份证号码的实例分析(正确性)

这篇文章主要介绍了C#验证身份证号码正确性的实例代码,包括18位号码和15位号码的校验,需要的朋友可以参考下

今天在QQ空间看到一篇关于C#语言验证18位身份证号码的验证方法和实例代码,抽了些时间学习了一下,个人觉得还不错,所以把它记了下来,方便以后使用!

18位号码:


private static bool CheckIDCard18(string Id)
    {
      long n = 0;
      if (long.TryParse(Id.Remove(17), out n) == false || n < Math.Pow(10, 16) || long.TryParse(Id.Replace(&#39;x&#39;, &#39;0&#39;).Replace(&#39;X&#39;, &#39;0&#39;), out n) == false)
      {
        return false;
      }
      string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
      if (address.IndexOf(Id.Remove(2)) == -1)
      {
        return false;
      }
      string birth = Id.Substring(6, 8).Insert(6, "-").Insert(4, "-");
      DateTime time = new DateTime();
      if (DateTime.TryParse(birth, out time) == false)
      {
        return false;
      }
      string[] arrVarifyCode = ("1,0,x,9,8,7,6,5,4,3,2").Split(&#39;,&#39;);
      string[] Wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(&#39;,&#39;);
      char[] Ai = Id.Remove(17).ToCharArray();
      int sum = 0;
      for (int i = 0; i < 17; i++)
      {
        sum += int.Parse(Wi[i]) * int.Parse(Ai[i].ToString());
      }
      int y = -1;
      Math.pRem(sum, 11, out y);
      if (arrVarifyCode[y] != Id.Substring(17, 1).ToLower())
      {
        return false;
      }
      return true;//正确
    }

15位号码:


private static bool CheckIDCard15(string Id)
    {
      long n = 0;
      if (long.TryParse(Id, out n) == false || n < Math.Pow(10, 14))
      {
        return false;
      }
      string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
      if (address.IndexOf(Id.Remove(2)) == -1)
      {
        return false;
      }
      string birth = Id.Substring(6, 6).Insert(4, "-").Insert(2, "-");
      DateTime time = new DateTime();
      if (DateTime.TryParse(birth, out time) == false)
      {
        return false;
      }
      return true;//正确
    }

总结

以上是C#关于验证身份证号码的实例分析(正确性)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
分享几个.NET开源的AI和LLM相关项目框架分享几个.NET开源的AI和LLM相关项目框架May 06, 2024 pm 04:43 PM

当今人工智能(AI)技术的发展如火如荼,它们在各个领域都展现出了巨大的潜力和影响力。今天大姚给大家分享4个.NET开源的AI模型LLM相关的项目框架,希望能为大家提供一些参考。https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel是一种开源的软件开发工具包(SDK),旨在将大型语言模型(LLM)如OpenAI、Azure

C#的就业前景如何C#的就业前景如何Oct 19, 2023 am 11:02 AM

无论您是初学者还是有经验的专业人士,掌握C#将为您的职业发展铺平道路。

Java框架和.NET框架的性能差异Java框架和.NET框架的性能差异Jun 03, 2024 am 09:19 AM

在高并发请求处理方面,.NETASP.NETCoreWebAPI性能优于JavaSpringMVC,原因包括:AOT提前编译,减少启动时间;更精细的内存管理,由开发人员负责分配和释放对象内存。

面向开发人员的.NET性能优化技术面向开发人员的.NET性能优化技术Sep 12, 2023 am 10:43 AM

如果你是一名.NET开发者,你必须意识到在交付高质量软件方面,优化功能和性能的重要性。通过熟练使用提供的资源并减少网站加载时间,你不仅为用户创造了愉快的体验,还能减少基础设施成本。

从零开始搭建Discuz论坛:详细教程与实例分析从零开始搭建Discuz论坛:详细教程与实例分析Mar 15, 2024 am 08:09 AM

从零开始搭建Discuz论坛:详细教程与实例分析随着互联网的发展,论坛作为一个重要的社交交流平台,在网络中占据着重要地位。而Discuz作为目前国内最受欢迎的论坛系统之一,具有稳定性高、易于定制和丰富的插件等特点,深受用户喜爱。在本文中,我们将介绍如何从零开始搭建一个Discuz论坛,包括详细的教程步骤和实例分析,同时会提供具体的代码示例。第一步:服务器环境

php-fpm进程管理技巧与实例分析php-fpm进程管理技巧与实例分析Jul 08, 2023 am 08:03 AM

PHP-FPM进程管理技巧与实例分析概述:在PHP网页开发中,PHP-FPM(FastCGIProcessManager)是一种进程管理器,负责处理来自Web服务器的请求。它采用基于事件的模型来管理PHP进程,提供了更高效的请求处理能力。本文将介绍一些PHP-FPM的进程管理技巧,并结合实例进行分析。一、进程池调整技巧:1.1调整进程数量:根据服务器的

PHP语言开发中避免死循环及实例分析PHP语言开发中避免死循环及实例分析Jun 10, 2023 pm 03:01 PM

在PHP语言开发中,死循环是一种常见的错误类型。死循环的出现会导致程序无法正常执行,也会占用大量的系统资源,甚至导致系统崩溃。因此,避免死循环是PHP程序开发中非常重要的一环。什么是死循环?死循环指的是程序中的一个循环结构,当条件永远为真时,循环会一直持续下去,直到程序崩溃或强制终止为止。死循环也被称为无限循环,因为它没有结束条件,会一直循环下去。这种情况下

Python绘制图表的原创实例和案例分析Python绘制图表的原创实例和案例分析Sep 28, 2023 pm 11:00 PM

Python绘制图表的原创实例和案例分析引言:Python是一种广泛使用的编程语言,拥有强大的数据处理和可视化能力。在数据分析、科学研究和商业决策等领域,图表是最常见的可视化工具之一。本文将通过具体的实例和案例分析,介绍如何使用Python绘制图表,并附上详细的代码示例。一、折线图示例折线图是一种常用的可视化表达方式,适用于展示数据随时间或其他变量变化的趋势

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具