VB编程:身份证号码是否合法-49_彭世瑜_新浪博客

举报
彭世瑜 发表于 2021/08/13 23:33:07 2021/08/13
【摘要】 一、运行效果:   二、程序代码: Private Sub Command1_Click()         Label2.Caption = ""         Label2.BackColor = ...

一、运行效果:

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位身份证算法可以忽略,主要了解颜色值即可。

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/109661626

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。