这是我编的一个验证身份证号码的内部函数,参数: 身份证号码 string
返回 true 校验码正确
返回 false 校验码错
Dim ysfz As String = args(0)
If ysfz.length <> 18 Then
Return False
End If
Dim yzm As Integer() = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}
Dim yzm2 As String = "10X98765432"
Dim yzm1 As String
Dim he As Integer = 0
For i As Integer = 0 To 16
yzm1 = ysfz.Chars(i)
he = he + cint(yzm1) * yzm(i)
Next
he = he Mod 11
Dim xsfz As String = ysfz.Remove(17,1) & yzm2.Chars(he)
'MessageBox.show(ysfz)
'MessageBox.show(xsfz)
If xsfz = ysfz
Return True
Else
Return False
End If
身份证中信息没有包含籍贯信息,只有发证机关的信息,要建立相关的数据库才能查询到,使用身份证的前6位