• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#小程序15位转18位身份证号代码

C#小程序15位转18位身份证号代码

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#身份证验证,c#判断身份证是否合法,c#读取身份证信息,c#读取身份证,c#验证身份证号码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

现在我们使用的都是18位身份证号,而以前都是15位身份证号,而如何将15位身份证号转18位身份证号转换为18位身份证号呢?

1、首先,在15位身份证的第6位之后加上“19”变为17位,即出生年月的年加上19,比如原来的92年就变为1992

2、然后,就是最后一位的计算,方法如下:

1)将1得到的17位身份证号,每一位乘以相应的系数,17位系数为{ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }

2)将(1)求得17个数相加求和为temp


3)将temp除以11取余,temp%=11;

4)将取余之后的结果作为尾数数组endNum[]的下标,找出对于的值endNum[temp],然后将endNum[temp]加到17位身份证之后变为18位,

尾数数组endNum[]={ '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };

namespace IDCard
{
    class Program
    {
        /// <summary>
        /// 主函数
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Console.Write("请输入15位身份证号:");
            string OldID=Console.ReadLine();//输入15身份证号
            string newId =IDCardTranslation(OldID);//新身份证号
            Console.WriteLine("18位新身份证号为:{0}",newId);//输出
            Console.ReadLine();
        }
        /// <summary>
        /// 15位身份证号转18位身份证号
        /// </summary>
        /// <param name="oldCard">15位身份证号</param>
        /// <returns>18位身份证号</returns>
        private static string IDCardTranslation(string oldCard)
        {
            int[] coefficient = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };//17位身份证号每一位的系数
            char[] endNum = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };//身份证最后一位数组
            if (oldCard.Length == 15)//判断是否是15位
            {
                string newID = oldCard.Insert(6, "19");//在15位身份证号的第6位之后添加19,变成17位
                int s = 0;
                for (int i = 0; i < 17; i++)//17位号码每一位都乘以相应的系数
                {
                    int temp = Convert.ToInt32(newID[i]) * coefficient[i];
                    s += temp;//乘系数之后求和
                }
                s %= 11;//除以11取余
                newID += endNum[s].ToString();//17位号码加上 余数所代表的下标在尾数数组endNum中的字符
                return newID;//返回新ID号码
            }
            else
            {
                return "";
            }
        }
    }
}
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
  • C#验证身份证的函数
  • C#实现验证身份证是否合法的方法
  • C#可用于登录验证码的四位随机数生成方法
  • C#实现身份证号码验证的方法
  • C#身份证验证小例子
  • C#小程序15位转18位身份证号代码

相关文章

  • 2017-05-28c#实现摄像头拍照功能示例
  • 2017-05-28C#中的Timer和DispatcherTimer使用实例
  • 2017-05-28C#实现将程序运行信息写入日志的方法
  • 2017-05-28jQuery结合C#实现上传文件的方法
  • 2017-05-28C#使用Socket快速判断数据库连接是否正常的方法
  • 2017-05-28C#中反射和扩展方法如何运用
  • 2017-05-28C# 判断字符串为空的几种办法
  • 2017-05-28C#实现简单合并word文档的方法
  • 2017-05-28C#二分查找算法实例分析
  • 2017-05-28C#中的Internal关键字小结

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c#中SqlTransaction——事务详解
    • c#与mysql的连接
    • C#中static静态变量的用法实例
    • C#中控制远程计算机的服务的方法
    • C#线程定义和使用方法详解
    • C# Memcached缓存用法实例详解
    • C#将Json解析成DateTable的方法
    • 轻松学习C#的哈希表
    • C#中 城市线路图的纯算法以及附带求极权值
    • C# 解析 Excel 并且生成 Csv 文件代码分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有