您的位置:程序门 -> vb -> 基础类



15身份证转到18位身份证函数


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


15身份证转到18位身份证函数[已结贴,结贴人:mingzuhao]
发表于:2008-01-12 09:49:56 楼主
15身份证转到18位身份证函数
发表于:2008-01-12 09:51:111楼 得分:40
function   idcode15to18(scode15   as   string)   as   string
        '*     功能:将15的身份证号升为18位(根据gb   11643-1999)
        '*     调用:idcode15to18(身份证号)
        '*     参数:原来的号码
        '*     返回:升位后的18位号码
        dim   i   as   integer
        dim   num   as   integer
        dim   code   as   string
        if   len(scode)   <>   15   then   idcode15to18   =   scode:   exit   function
        num   =   0
        idcode15to18   =   left(scode15,   6)   +   "19"   +   right(scode15,   9)
        '     计算校验位
        for   i   =   18   to   2   step   -1
            num   =   num   +   (2   ^   (i   -   1)   mod   11)   *   (mid(idcode15to18,   19   -   i,   1))
        next   i
        num   =   num   mod   11
        select   case   num
        case   0
            code   =   "1"
        case   1
            code   =   "0"
        case   2
            code   =   "x"
        case   else
            code   =   trim(str(12   -   num))
        end   select
        idcode15to18   =   idcode15to18   +   code
end   function
发表于:2008-01-12 09:55:232楼 得分:0
谢谢


快速检索

最新资讯
热门点击