正文

VB_身份证号码升位和校验函数2005-10-10 00:07:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/tcmcz/5847.html

分享到:

Private Function getCheckCode(ByVal sfID As String) As String'身份证号码升位和校验函数''输入15位号码返回18位新号码'输入18位号码计算是否正确,如果正确返回原号码否则返回"错误"'如果号码长度不等于15或18位返回"错误"'    Dim strJiaoYan As Variant    Dim intQuan As Variant    strJiaoYan = Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2")    intQuan = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1)    Dim strTemp As String    Dim intTemp As Integer    Dim i As Integer    If Len(sfID) = 15 Then        strTemp = Mid(sfID, 1, 6) & "19" & Mid(sfID, 7)    ElseIf Len(sfID) = 18 Then        strTemp = Left(sfID, 17)    Else        getCheckCode = "错误"        Exit Function    End If    For i = 0 To Len(strTemp) - 1        intTemp = intTemp + Mid(strTemp, i + 1, 1) * intQuan(i)    Next    intTemp = intTemp Mod 11    getCheckCode = strTemp & strJiaoYan(intTemp)    If Len(sfID) = 18 And strJiaoYan(intTemp) <> Right(sfID, 1) Then getCheckCode = "错误"End Function

阅读(288) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册