实例说明
身份证是用于证明持有人身份的证件,身份证号码分为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”用于匹配任意的非数字字符。