.net core 实现一个校验身份证demo
时间: 2023-05-14 08:05:36 浏览: 63
好的,以下是一个简单的 .NET Core 实现身份证校验的示例代码:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
string idCardNumber = "110101199003077777"; // 身份证号码
bool isValid = ValidateIdCardNumber(idCardNumber);
if (isValid)
{
Console.WriteLine("身份证号码有效!");
}
else
{
Console.WriteLine("身份证号码无效!");
}
}
static bool ValidateIdCardNumber(string idCardNumber)
{
if (idCardNumber.Length != 18)
{
return false;
}
int[] factors = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }; // 加权因子
char[] checkCodes = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' }; // 校验码
int sum = 0;
for (int i = 0; i < 17; i++)
{
int digit = idCardNumber[i] - '0';
if (digit < 0 || digit > 9)
{
return false;
}
sum += digit * factors[i];
}
int remainder = sum % 11;
char checkCode = checkCodes[remainder];
return idCardNumber[17] == checkCode;
}
}
```
这个示例代码中,我们定义了一个 `ValidateIdCardNumber` 方法,用于校验身份证号码的有效性。在 `Main` 方法中,我们调用这个方法来校验一个身份证号码是否有效。如果有效,就输出一条消息,否则输出另一条消息。
注意,这个示例代码只是一个简单的演示,实际上身份证号码的校验规则比这个要复杂得多。如果你需要在实际项目中使用身份证号码校验功能,建议使用专业的身份证号码校验库。