最近在使用一個信息統計系統,里面要對每個人的身份證號碼驗證,因為有90多人,一個一個手工輸入難免會有錯誤,如圖這種情況。
于是用VB6寫了個身份證號碼驗證程序,代碼如下:
添加文本框Text1,標簽Label1,按鍵Command1
Private Sub Command1_Click()
Dim B() As String: Dim k&, j&, i(17) As Long
Const A As String = "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"
B() = Split(A, ",")
For j = 1 To 17
i(j - 1) = Val(Mid(Text1.Text, j, 1)) * Val(B(j - 1)) '第1位到第17位分別乘以B(0)...B(16),所有積求和
k = k + i(j - 1)
Next
Label1.Caption = "校驗位是:" & B((k Mod 11) + 17) '余數1-10,對應B(17)-B(27)
End Sub
為了更精簡些,反復修改了3次,應該不能再精簡了吧?
校驗碼計算方法,網上有教程。