一个将15的身份证号升为18位的函数(VB)

原创 2002年06月25日 09:58:00

在新旧身份证同时并存使用的情况下,最好将升位后的18位方式保存在数据库中,下面的函数能将用户输入的15位数据转化为18位。

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

Oracle常用函数:IDCARD15TO18() 身份证15位转18位函数

Create Or Replace Function IDCARD15TO18(CARD Varchar2) Return Varchar2 Is     Type TIARRAY Is Table...
  • mikean
  • mikean
  • 2013年12月29日 13:11
  • 3334

身份证检验算法,以及15位和18位身份证的相互转换!

package cn.ccb.boup.util.common; import java.util.regex.*; /**  * 身份证检验算法,以及15位和18位身份证的相互转换。  * ...
  • myid
  • myid
  • 2012年04月24日 17:18
  • 2681

15位身份证转18位批量转换工具及其算法(VB版)

15位身份证转18位批量转换工具及其算法                        *************************************************...
  • zccpt
  • zccpt
  • 2012年10月05日 20:00
  • 2636

DB2中15位与18位身份证号码转换过程

CREATE PROCEDURE "ZHCX"."PROC_GETID" (OUT OUTARG VARCHAR(60), IN sfz VARCHAR(60))  LANGUAGE SQL   ...
  • mmxx1983
  • mmxx1983
  • 2011年10月17日 18:24
  • 646

将15的身份证号升为18位(根据GB 11643-1999)

自动转换15位身份证号码位18位 功能:将15的身份证号升为18位(根据GB 11643-1999) 参数:原来的号码(15位) 返回:升位后的18位号码 用法:=IDCODE(a1)  (假设A1放...
  • JOHNCOOLS
  • JOHNCOOLS
  • 2006年04月29日 20:53
  • 2162

mysql中将15位身份证号改为18位

转换规则大致为将15位中的6位出生日期改为8位,即在原十五位数身份证的第六位数后面插入19 ,这样身份证号就成为了17位。最后一位为校验码,是通过前面17位计算得到的。校验码计算方法:将身份证前十七位...
  • SuperBoy_Liang
  • SuperBoy_Liang
  • 2017年07月29日 15:23
  • 672

将15的身份证号升为18位(根据GB 11643-1999)

 自动转换15位身份证号码位18位 功能:将15的身份证号升为18位(根据GB 11643-1999) 参数:原来的号码(15位) 返回:升位后的18位号码 用法:=IDCODE(a1) (假设A1放...
  • yuxuan0476
  • yuxuan0476
  • 2009年05月15日 17:17
  • 310

Greenplum函数 - 身份证号15位转18位

阅读原文请点击 摘要: 前几天一直有人在问,如何在Greenplum里面实现身份证号15位到18位的转换函数,今天网上搜了一下,看了看大概的逻辑,做了个简单实现,转换逻辑不懂的,请自行百度吧...
  • qq_35267530
  • qq_35267530
  • 2017年07月31日 09:50
  • 170

15位身份证号转换为18位身份证号

身份证升位规则: 第一代身份证十五位数升为第二代身份证十八位数的一般规则是:第一步,在原十五位数身份证的第六位数后面插入19 ,这样身份证号码即为十七位数;第二步,按照国家规定的统一公式计算出第十八...
  • Hello_Strangers
  • Hello_Strangers
  • 2017年06月05日 19:43
  • 649

身份证15位升18位的算法

  现在新的身份证已经从15位升到了18位了,很多软件都可能用到身份证的输入、校验的工作,关于新身份证的编码似乎文章很少,我在2000年的时候找到了计算机世界的一篇文章,发现现在的身份证校验码居然可能...
  • pazee
  • pazee
  • 2002年08月13日 09:12
  • 5542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个将15的身份证号升为18位的函数(VB)
举报原因:
原因补充:

(最多只允许输入30个字)