您当前的位置:首页 > 计算机 > 编程开发 > VB

VB编程:身份证号码是否合法

时间:05-26来源:作者:点击数:

VB编程:身份证号码是否合法

一、运行效果:

image

二、程序代码:

Private Sub Command1_Click()
        Label2.Caption = ""
        Label2.BackColor = Me.BackColor
        Label2.ForeColor = Me.ForeColor
    If IsNumeric(Text1.Text) = False Then
        Label2.Caption = "输入的身份证号码无效!"
        Label2.BackColor = vbRed
        Label2.ForeColor = vbWhite
    ElseIf Len(Text1.Text) = 15 Then
        x = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1)
        y = Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2")
        temp = Mid(Text1.Text, 1, 6)
        temp = temp + "19"
        temp1 = Mid(Text1.Text, 7, 15)
        temp = temp + temp1
        s = 0
        For i = 0 To 16
            j = Int(Mid(temp, i + 1, 1)) * x(i)
            s = s + j
        Next i
        s = s Mod 11
        str1 = temp + Trim(y(s))
        Label2.Caption = "身份证有效:" & str1
        Label2.BackColor = vbGreen
        Label2.ForeColor = Me.ForeColor
    ElseIf Len(Text1.Text) = 18 Then
        str1 = Text1.Text
        Label2.Caption = "身份证有效:" & str1
        Label2.BackColor = vbGreen
        Label2.ForeColor = Me.ForeColor
    ElseIf Len(Text1.Text) <> 15 And Len(Text1.Text) <> 18 Then
        Label2.Caption = "输入的身份证号码无效!"
        Label2.BackColor = vbRed
        Label2.ForeColor = vbWhite
    End If
End Sub

Private Sub Command2_Click()
    End
End Sub

Private Sub Text1_Change()
    Label3.Caption = Len(Text1.Text)
End Sub

三、学习总结:

中间的15位身份证到18位身份证算法可以忽略,主要了解颜色值即可。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门