四时宝库

程序员的知识宝库

使用正则表达式验证身份证号-C#学习进阶

实例说明

身份证是用于证明持有人身份的证件,身份证号码分为15位和18位两种,到银行办理新建帐户或办理宽带服务时都需要填写身份证号,实例中将使用正则表达式,验证用户输入的身份证号是否合法。实例运行效果如图所示。

关键技术

本实例重点在于向读者介绍怎样使用正则表达式验证输入身份证号,下面对其进行详细讲解。

实例中主要用到了Regex类的IsMatch方法,此方法的使用已经在实例“使用正则表达式验证电话号码”中进行了详细讲解。下面对实例中使用的正则表达式进行详细讲解。

从图中可以看到,详细的描述了"(^\d{18}$)|(^\d{15}$)"正则表达式,其中(^\d{18}$)表示匹配18个数字;(^\d{15}$)表示匹配15个数字。

设计过程

(1)打开Visual Studio 2022开发环境,新建一个Windows窗体应用程序,命名为ValidatePerson。

(2)更改默认窗体Form1的Name属性为Frm_Main,向窗体中添加一个TextBox控件,用于输入身份证号;添加一个Button按钮,用于验证身份证号。

(3)程序主要代码如下:

public bool IsIDcard(string str_idcard)

{

    return System.Text.RegularExpressions.Regex.                                                                  //使用正则表达式判断是否匹配

        IsMatch(str_idcard, @"(^\d{18}$)|(^\d{15}$)");

}

正则表达式中“\d”用于匹配任意的数字,数字包括了0、1、2、3、4、5、6、7、8和9。“\D”用于匹配任意的非数字字符。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接