将身份证从15位升级为18位的函数

 '将身份证从15位升级为18位的函数
    Function GetNewIDCard(ByVal IDCard As String) As String
        Dim i, S As Integer
        Dim Wi() As String = Split("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1", ",")
        Dim Wf() As String = Split("1,0,X,9,8,7,6,5,4,3,2", ",")
        If Mid(IDCard, 7, 2) >= Mid(Now.AddYears(-14).Year, 3, 2) Then
            IDCard = Mid(IDCard, 1, 6) & "18" & Mid(IDCard, 7, 9)
        Else
            IDCard = Mid(IDCard, 1, 6) & "19" & Mid(IDCard, 7, 9)
        End If
        For i = 0 To 16
            S += Wi(i) * Mid(IDCard, i + 1, 1)
        Next
        Return IDCard & Wf(S Mod 11)
    End Function

时间: 2024-12-05 17:02:22

将身份证从15位升级为18位的函数的相关文章

用C#实现由15位身份证号升级到18位的算法

1 using System; 2 using System.Collections; 3 4 public class MyClass 5 { 6 public static void Main() 7 { 8 Console.WriteLine(per15To18("429005811009091")); 9 RL(); 10 } 11 12 public static string per15To18(string perIDSrc) 13 { 14 int iS = 0; 15

身份证格式验证(含15位转换到18位)C#

转换 using System;using System.Collections.Generic;using System.Text; namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            for (int i = 1; i < 10; i++)            {                Console.Write

做一个牛XX的身份证号验证类(支持15位和18位)

原文:做一个牛XX的身份证号验证类(支持15位和18位) #region 是否合法的中国身份证号码 protected bool IsChineseID() { if (str.Length == 15) str = CidUpdate(str); if (str.Length == 18) { string strResult = CheckCidInfo(str); if (strResult == "非法地区" || strResult == "非法生日" |

身份证号码的匹配的js代码&lt;15位/18位&gt;

身份证号码可以是15位或者是18位,其中最后一位可以是X.其它全是数字,正则如下:  代码如下 复制代码  /^(d{14}|d{17})(d|[xX])$/ 开头是14位或者17位数字,结尾可以是数字或者是x或者是X. 测试代码如下:  代码如下 复制代码  <script type="text/javascript">  function testReg(reg,str){   return reg.test(str);  }  var reg = /^(d{14}|d

JavaScript验证18位身份证号码最后一位正确性的实现代码_javascript技巧

根据身份证号码推算出最后一位的正确性,如果不正确还会给出正确结果,非常有意思的一断程序. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &l

js身份证判断方法支持15位和18位

 这篇文章主要介绍了js身份证判断方法支持15位和18位,需要的朋友可以参考下 代码如下: //HTML页面上要有一个id为identity_card的input输入框,一个id为ipmessage的身份证错误或正确时提示消息的地方  <script>  //身份证验证  $(document).ready(function(){  $("#identity_card").change(function(){  var idcard =$(this).val();  che

JS实现身份证号码15位转18位时最后一位的算法

js|算法 <SCRIPT LANGUAGE="JavaScript"><!--var lastNumber;var id = "15位身份证号码"//15位身份证号码var getNum=eval(id.charAt(0)*7+id.charAt(1)*9+id.charAt(2)*10+id.charAt(3)*5+id.charAt(4)*8+id.charAt(5)*4+id.charAt(6)*2+id.charAt(7)*1+id.ch

PHP实现身份证号正则验证(兼容15,18位)

  最近复习了正则表达式的使用,手痒痒就做了一份验证正则,身份证号验证(兼容15,18位) ,在注册验证的时候可以用上.   01 //比较菜鸟 第一次分享代码   02 //身份证号验证 03     protected function checkIdCard(){ 04         if(empty($_POST['idcard'])){ 05             return false; 06         } 07         $idcard = $_POST['idc

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

函数 在新旧身份证同时并存使用的情况下,最好将升位后的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