zoukankan      html  css  js  c++  java
  • 身份证号码编码

    [转自:身份证号码编码 教学设计]

    身份证为18位,老的身份证是15位就不说了。

    关于身份证第18是怎么计算的,原理如下:根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

    见后面附的“最新县及县以上行政区划代码”,这里老的和新的可能有些出入.详见:

    身份证号码(18位)格式为:AAAAAABBBBBBCCCD

    A、地址码(前六位数)

    表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。

    B、出生日期码(第七位至十四位)

    表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。

    C、顺序码(第十五位至十七位)

    表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。

    D、校验码(第十八位数)

    作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么

    此人的身份证就变成了19位。X是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准.

    第十八位数字的计算方法为:

    1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7910584216379105842

    2.将这17位数字和系数相乘的结果相加。

    3.用加出来和除以11,看余数是多少?

    4余数只可能有012345678910这11个数字。其分别对应的最后一位身份证的号码为10X98765432。

    5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。

  • 相关阅读:
    cocos2d-x step by step(3) Doub le Kill简单的一些小动画
    OpenGL step to step(2)
    OpenGL step to step(1)
    cocos2d-x step by step(3) Double Kill
    cocos2d-x step by step(2) 鼠标事件,键盘事件,等等事件
    cocos2d-x step by step(1) First Blood
    Unity Step by Step(一)
    写在最前段的序言
    xamarin studio 安装
    xamarin studio 中SpinButton ComBox Splid 鼠标放上去就会自动接收焦点,然后进行数值变化
  • 原文地址:https://www.cnblogs.com/ceachy/p/2523701.html
Copyright © 2011-2022 走看看