function idcode15to18(scode15 as string) as string '* 功能:將15的身份證號升為18位(根據gb 11643-1999) '* 參數:原來的號碼 '* 返回:升位后的18位號碼 dim i as integer dim num as integer dim code as string 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