用C#编一个程序,输入一个代表身份证号码的字符串,判断字符串长度(18)是否正确,还要判断输入的每个字符是否为数字。否则要求重新输入
时间: 2024-11-23 10:49:34 浏览: 19
C#根据身份证号码判断出生日期和性别
在C#中,你可以通过正则表达式库`System.Text.RegularExpressions`来进行这样的验证。首先,创建一个方法接受用户输入的身份证号码字符串,然后检查它的长度和每个字符是否都是数字。如果不符合条件,会提示用户重新输入。下面是一个简单的示例:
```csharp
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
Console.WriteLine("请输入身份证号码:");
string input = Console.ReadLine();
// 使用正则表达式验证身份证号码
if (ValidateIDNumber(input))
{
Console.WriteLine("输入的身份证号码有效。");
}
else
{
Console.WriteLine("输入错误,请确保身份证号码长度为18位,并且只包含数字。");
Main(); // 如果输入无效,再次进入主循环让用户重新输入
}
}
public static bool ValidateIDNumber(string idNumber)
{
// 正则表达式匹配18位数字组成的字符串
string pattern = @"^\d{18}$";
return Regex.IsMatch(idNumber, pattern);
}
}
```
在这个程序中,`ValidateIDNumber`函数接受一个字符串并尝试匹配正则表达式。如果输入的字符串不符合18位数字的要求,`Regex.IsMatch`将返回`false`,程序会在控制台给出错误提示并再次调用`Main`函数。
阅读全文