身份证号码校验工具-VB编译版
一、前言
最近在学习VB,主要目的是为了提高办公效率,最近学习到了数据库和网络接口,做了一个身份证号码校验工具,本着大家一起学习的原则的原则,上来发给大家参考下,如有错误的地方请指正,
工具主要功能如下:
- 身份证号码校验,利用公式识别出身份证号码是否正确;
- 识别性别,是男是女(身份证的倒数第二位数字判断)
- 识别省份(前两位)、市(3-4位)、县(5-6位)
- 识别年龄(当前日期减7-14位)
- 识别星座(根据生日11-14位来判断)
- 识别属相(根据出生年判断)
二、软件截图
三、工具下载地址
文件下载地址暂时未公布,需要的朋友请在下方留言,看到后会第一时间更新下载地址。
三、部分源码(仅供学习)
[Visual Basic] 纯文本查看 复制代码
'计算星座Sub 星座() Dim 星座$ If 主窗口.身份证号码s = "" Then 星座 = "" Else Dim 日期% 日期 = Int(Mid(主窗口.身份证号码s, 11, 4)) If 日期 >= 1222 Or 日期 <= 119 Then 星座 = "魔蝎" ElseIf 日期 >= 120 And 日期 <= 218 Then 星座 = "水瓶" ElseIf 日期 >= 219 And 日期 <= 320 Then 星座 = "双鱼" ElseIf 日期 >= 321 And 日期 <= 419 Then 星座 = "白羊" ElseIf 日期 >= 420 And 日期 <= 520 Then 星座 = "金牛" ElseIf 日期 >= 521 And 日期 <= 621 Then 星座 = "双子" ElseIf 日期 >= 622 And 日期 <= 722 Then 星座 = "巨蟹" ElseIf 日期 >= 723 And 日期 <= 822 Then 星座 = "狮子" ElseIf 日期 >= 823 And 日期 <= 922 Then 星座 = "处女" ElseIf 日期 >= 923 And 日期 <= 1023 Then 星座 = "天秤" ElseIf 日期 >= 1024 And 日期 <= 1121 Then 星座 = "天蝎" ElseIf 日期 >= 1122 And 日期 <= 1221 Then 星座 = "射手" End If 主窗口.星座.Caption = 星座 & "座" End IfEnd Sub
[Visual Basic] 纯文本查看 复制代码
'计算属相Sub 属相() Dim 属相$ If 主窗口.身份证号码s = "" Then 属相 = "" Else Dim 全属相$ 全属相 = "猴鸡狗猪鼠牛虎兔龙蛇马羊" 属相 = Mid(全属相, (CInt(Mid(主窗口.身份证号码s, 7, 4)) Mod 12) + 1, 1) 主窗口.属相.Caption = 属相 End IfEnd Sub
[Visual Basic] 纯文本查看 复制代码
'身份证号码正确性校验Sub 身份证号码校验()Dim 身份证号码$, 正确性校验$, i%i = 2 身份证号码 = 主窗口.身份证号码s.Text 正确性校验 = 校验(身份证号码) If Len(身份证号码) = 15 Then 主窗口.显示框.ForeColor = vbRed 主窗口.显示框.Caption = "不支持验证15位身份证号码" 主窗口.身份证号码s.SetFocus ElseIf Len(身份证号码) <> 18 Then 主窗口.显示框.ForeColor = vbRed 主窗口.显示框.Caption = "身份证号码位数不正确" 主窗口.身份证号码s.SetFocus ElseIf 正确性校验 = "身份证号码错误" Then 主窗口.显示框.ForeColor = vbRed 主窗口.显示框.Caption = "身份证号码错误" 主窗口.身份证号码s.SetFocus Else If 主窗口.源1.Value = True Then Call 读取地址1.地址 Call 属相.属相 Call 星座.星座 Else Call 读取地址2.地址 Call 属相.属相 Call 星座.星座 End If End If i = i + 1End SubFunction 校验(身份证号码 As String) Dim 余数, 校验码, 号码$, 校验码1, 校验码2, 校验结果 号码 = 身份证号码 '计算余数 If 号码 = "" Then 余数 = "" Else On Error Resume Next 余数 = (Left(号码, 1) * 7 + Mid(号码, 2, 1) * 9 + Mid(号码, 3, 1) * 10 + Mid(号码, 4, 1) * 5 + Mid(号码, 5, 1) * 8 + Mid(号码, 6, 1) * 4 + Mid(号码, 7, 1) * 2 + Mid(号码, 8, 1) * 1 + Mid(号码, 9, 1) * 6 + Mid(号码, 10, 1) * 3 + Mid(号码, 11, 1) * 7 + Mid(号码, 12, 1) * 9 + Mid(号码, 13, 1) * 10 + Mid(号码, 14, 1) * 5 + Mid(号码, 15, 1) * 8 + Mid(号码, 16, 1) * 4 + Mid(号码, 17, 1) * 2) Mod 11 Error = 0 End If '计算校验码 If 余数 = 0 Then 校验码1 = 1 ElseIf 余数 = 1 Then 校验码1 = 0 ElseIf 余数 = 2 Then 校验码1 = "X" ElseIf 余数 = 3 Then 校验码1 = 9 ElseIf 余数 = 4 Then 校验码1 = 8 Else 校验码1 = "" End If If 余数 = 5 Then 校验码2 = 7 ElseIf 余数 = 6 Then 校验码2 = 6 ElseIf 余数 = 7 Then 校验码2 = 5 ElseIf 余数 = 8 Then 校验码2 = 4 ElseIf 余数 = 9 Then 校验码2 = 3 ElseIf 余数 = 10 Then 校验码2 = 2 Else 校验码2 = "" End If 校验码 = 校验码1 & 校验码2 If 号码 = "" Then 校验结果 = "" ElseIf Len(号码) = 15 Then 校验结果 = "未验证" ElseIf Len(号码) = 18 And Right(号码, 1) = 校验码 Then 校验结果 = "身份证号码正确" Else 校验结果 = "身份证号码错误" End If 校验 = 校验结果End Function
四、身份证地址数据库文件(未加密数据库,仅供学习使用!)
文件下载地址暂时未公布,需要的朋友请在下方留言,看到后会第一时间更新下载地址。
未经允许,谢绝转载!!!
声明:本站所有资源均由网友分享,如有侵权内容,请在文章下方留言,本站会立即处理。