生成身份证验证程序 vb
以下是一个生成身份证验证程序的VB代码示例:
Module Module1
Sub Main()
Console.WriteLine("请输入身份证号码:")
Dim idCard As String = Console.ReadLine()
If ValidateIdCard(idCard) Then
Console.WriteLine("身份证号码验证通过")
Else
Console.WriteLine("身份证号码验证失败")
End If
Console.ReadLine()
End Sub
Function ValidateIdCard(idCard As String) As Boolean
' 验证身份证号码的规则
Dim regex As New System.Text.RegularExpressions.Regex("\d{17}[\d|x]|\d{15}")
If Not regex.IsMatch(idCard) Then
Return False
End If
' 验证身份证号码的校验位
Dim provinceCode As Integer = Integer.Parse(idCard.Substring(0, 2))
If provinceCode < 11 OrElse provinceCode > 91 Then
Return False
End If
Dim checkCode As String = If(idCard.Length = 18, idCard.Substring(17, 1), idCard.Substring(14, 1))
Dim factor As Integer = 2
Dim sum As Integer = 0
Dim verifyCode As String = "10X98765432"
For i As Integer = 0 To 16
sum += Integer.Parse(idCard(i).ToString()) * factor
factor = If(factor = 2, 1, 2)
Next
Dim remainder As Integer = sum Mod 11
Dim expectedCode As String = verifyCode(remainder).ToString()
Return checkCode.ToUpper() = expectedCode
End Function
End Module
该程序首先要求用户输入身份证号码,然后调用ValidateIdCard函数验证身份证号码是否合法。ValidateIdCard函数首先使用正则表达式验证身份证号码格式是否正确,然后根据身份证号码的校验位进行校验,最后返回验证结果
原文地址: https://www.cveoy.top/t/topic/iJQr 著作权归作者所有。请勿转载和采集!