最近在使用一个信息统计系统,里面要对每个人的身份证号码验证,因为有90多人,一个一个手工输入难免会有错误,如图这种情况。

vb计算年龄的代码(VB编写的身份证号验证程序)(1)

于是用VB6写了个身份证号码验证程序,前面发过一次代码 ,经过头条几位高手指点,重新修改了一下代码,用array给数组赋值,并放在form_load()里面。直接赋值效率最高,array最简单,但是多了一个可变数组变量。

Dim B

Private Sub Command1_Click()

Dim k&, j&, i(17) As Long

For j = 1 To 17

i(j - 1) = Val(Mid(Text1.Text, j, 1)) * (B(j - 1)) '第1位到第17位分别乘以B(0)...B(16),所有积求和

k = k i(j - 1)

Next

Label1.Caption = "校验位是:" & Str(B((k Mod 11) 17)) '余数1-10,对应B(17)-B(27)

End Sub

Private Sub Form_Load()

B = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1, 0, X, 9, 8, 7, 6, 5, 4, 3, 2)

End Sub

[呲牙]

,