Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

一个用于验证18位身份证号码有效性的通用函数

时 间:2010-08-25 00:00:00
作 者:红尘如烟   ID:10768  城市:成都
摘 要:一个用于验证18位身份证号码有效性的通用函数
正 文:

'===================================================================
'函数名称:    IsIDNumber
'功能描述:    根据GB11643-1999编码规则验证18位身份证号码是否有效
'输入参数:    参数1:IDNumber    必需的,18位身份证号码
'返回参数:    有效返回True,无效返回False
'兼 容 性:
'使用示例:    IsIDNumber("370284197901130819") '返回True
'相关调用:
'作    者:    红尘如烟
'创建日期:    20010-4-25
'===================================================================
Function IsIDNumber(ByVal IDNumber As String) As Boolean
    Const W As String = "79058421637905842"     '加权因子
    Const C As String = "10X98765432"           '校验码
    Dim S As Integer, i As Integer, T As Integer
   
    IDNumber = UCase(Trim(IDNumber))
    If Len(IDNumber) <> 18 Then Exit Function
    If Not IsNumeric(Mid(IDNumber, 1, 17)) Then Exit Function
    If Not IDNumber Like "*[0-9X]" Then Exit Function

    For i = 1 To 17
        T = Mid(W, i, 1)
        If T = 0 Then T = 10
        S = S + Mid(IDNumber, i, 1) * T
    Next
    T = S Mod 11
    If Right(IDNumber, 1) = Mid(C, T + 1, 1) Then IsIDNumber = True
End Function


Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助