C#根据身份证号码判断出生日期和性别

C# 根据身份证号码判断出生日期和性别

步骤1:获取身份证号码的输入

在 C# 中,我们可以通过 Console.ReadLine() 方法获取用户输入的身份证号码。示例代码如下:

Console.WriteLine("请输入身份证号码:");
string idCard = Console.ReadLine();

步骤2:校验身份证号码合法性

在 C# 中,我们可以编写正则表达式来校验身份证号码的合法性。正则表达式如下:

string regex = @"^\d{17}\d|x|X$";

其中,^ 表示匹配字符串开头,\d 表示匹配数字,{17} 表示连续匹配 17 个数字,| 表示或,x 表示身份证号码最后一位可能是 x 或 X,$ 表示匹配字符串结尾。示例代码如下:

if (!Regex.IsMatch(idCard, regex))
{
    Console.WriteLine("身份证号码不合法!");
    return;
}

步骤3:解析出生日期和性别信息

在 C# 中,我们可以使用字符串的 Substring() 方法和 Convert.ToInt32() 方法来解析身份证号码中的出生日期和性别信息。具体实现如下:

// 解析出生日期
string birthdayStr = idCard.Substring(6, 8);
DateTime birthday = DateTime.ParseExact(birthdayStr, "yyyyMMdd", null);

// 解析性别
int genderCode = Convert.ToInt32(idCard.Substring(16, 1));
string gender = genderCode % 2 == 0 ? "女" : "男";

其中,Substirng(startIndex, length) 方法表示从字符串中的 startIndex 开始位置截取 length 长度的子字符串,ParseExact() 方法表示将指定格式的字符串转换为 DateTime 类型。示例代码如下:

Console.WriteLine($"出生日期:{birthday.ToString("yyyy年MM月dd日")}");
Console.WriteLine($"性别:{gender}");

完整代码示例

using System;
using System.Text.RegularExpressions;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入身份证号码:");
            string idCard = Console.ReadLine();

            string regex = @"^\d{17}\d|x|X$";
            if (!Regex.IsMatch(idCard, regex))
            {
                Console.WriteLine("身份证号码不合法!");
                return;
            }

            string birthdayStr = idCard.Substring(6, 8);
            DateTime birthday = DateTime.ParseExact(birthdayStr, "yyyyMMdd", null);

            int genderCode = Convert.ToInt32(idCard.Substring(16, 1));
            string gender = genderCode % 2 == 0 ? "女" : "男";

            Console.WriteLine($"出生日期:{birthday.ToString("yyyy年MM月dd日")}");
            Console.WriteLine($"性别:{gender}");
        }
    }
}

其中,用户输入身份证号码为 110101199003073993,程序输出如下:

请输入身份证号码:
110101199003073993
出生日期:1990年03月07日
性别:男

另外一个示例,用户输入身份证号码为 120105198011191739,程序输出如下:

请输入身份证号码:
120105198011191739
出生日期:1980年11月19日
性别:女

注意:本文仅提供根据身份证号码判断出生日期和性别的示例代码,不涉及身份证号码的核实和真实性。真实情况下,请使用正规的身份证核实系统进行身份证核实。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#根据身份证号码判断出生日期和性别 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C#实现SQL批量插入数据到表的方法

    以下是详细讲解“C#实现SQL批量插入数据到表的方法”的完整攻略: 1. 背景 在C#程序中,有时需要将大量数据插入到数据库表中,如果采用一条一条的插入的方式,执行速度会非常慢,这时候使用批量插入的方式可以提高效率。本文将介绍如何使用C#实现SQL批量插入数据到表的方法。 2. 方法 2.1 使用SqlBulkCopy类实现批量插入 在C#程序中,可以使用S…

    C# 2023年5月31日
    00
  • C#比较二个数组并找出相同或不同元素的方法

    针对“C#比较二个数组并找出相同或不同元素的方法”的完整攻略,以下是具体步骤: 步骤一:创建两个数组 首先,我们需要创建两个数组,来保存要进行比较的数据。可以使用 int[] 或者 string[] 等类型,以下是示例代码: int[] arr1 = new int[] {1, 2, 3, 4, 5}; int[] arr2 = new int[] {3, …

    C# 2023年6月7日
    00
  • asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)

    动态修改webservice的地址和端口可以通过修改web.config配置文件中的节点来实现,以下是详细攻略: 读取web.config配置文件 首先,我们需要读取web.config配置文件中的节点,可以使用ConfigurationManager类来实现。代码示例如下: Configuration conf = ConfigurationManager…

    C# 2023年6月3日
    00
  • C#递归实现显示文件夹及所有文件并计算其大小的方法

    下面是“C#递归实现显示文件夹及所有文件并计算其大小的方法”的完整攻略。 1. 确定递归终止条件 首先,我们要确定递归的终止条件。在本题中,终止条件一般是当遍历到文件时,直接输出文件的名称和大小,并返回上一级目录继续遍历。因此,我们可以使用File和Directory类来判定当前路径是否为文件或目录,并在遇到文件时直接输出。 2. 确定遍历方式 其次,我们需…

    C# 2023年6月1日
    00
  • C#窗体实现酒店管理系统

    请看下面的内容: 建立C#窗体项目 要实现酒店管理系统,必须充分发挥C#窗体项目的优势,通过可视化设计实现用户界面,再与数据库连接实现数据的增删改查等操作。 首先,打开Visual Studio,选择“新建项目”,点击“Windows 窗体应用”来创建C#窗体项目。 设计用户界面 在C#窗体项目中,通过拖拽控件来实现用户界面的设计。应该认真考虑用户的使用习惯…

    C# 2023年6月1日
    00
  • c# 实现汉诺塔游戏

    C#实现汉诺塔游戏攻略 思路分析 在讲解C#实现汉诺塔游戏之前,我们先来了解一下它的思路。 汉诺塔游戏是一种经典的递归算法,基本思路如下: 假设有A、B、C三条柱子,A柱子上有n个不同大小的盘子,盘子大小由下到上依次变小,现在要求将A柱子上的盘子移动到C柱子上,移动过程中可以借助B柱子,但每次只能移动最上面的盘子,并且大盘子不能放在小盘子上面。 例如,当有三…

    C# 2023年5月15日
    00
  • asp.net core实体类生产CRUD后台管理界面

    ASP.NET Core 实体类生成 CRUD 后台管理界面 ASP.NET Core 实体类生成 CRUD 后台管理界面是一种常见的操作。本攻略将介绍如何使用 ASP.NET Core 实体类生成 CRUD 后台管理界面。 步骤 以下是使用 ASP.NET Core 实体类生成 CRUD 后台管理界面的步骤: 安装 Scaffold-DbContext 工…

    C# 2023年5月17日
    00
  • 在C#中调用VBScript、javascript等脚本的实现代码

    在C#中调用VBScript或JavaScript脚本,可以通过使用Microsoft Script Control(MS Script Control)实现。MS Script Control是一个COM组件,用于解析和执行脚本文件,并提供了一组对象模型和方法,用于从C#代码中调用脚本。 以下是在C#中调用VBScript的示例代码: using Micr…

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部