可以,他们都是有计算公式的!第1至第6位是行政区划代码,7至14位是出生日期代码,15至17位是分配顺序码,最后一位是电脑识别码!
我国身份证号从15位升位到18位是从1997年就开始了.
现行使用公民身份证号码有两种尊循两个国家标准,〖gb
11643-1989〗和〖gb
11643-1999〗。
〖gb
11643-1989〗中规定的是15位身份证号码:排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。
〖gb
11643-1999〗中规定的是18位身份证号码:公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。
顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。
校验码是根据前面十七位数字码,按照iso
7064:1983.mod
11-2校验码计算出来的检验码。
公式如下:
∑(a[i]*w[i])
mod
11
(
i
=
2,
3,
...,
18
)
(1)
"*"
表示乘号
i--------表示身份证号码每一位的序号,从右至左,最左侧为18,最右侧为1。
a[i]-----表示身份证号码第
i
位上的号码
w[i]-----表示第
i
位上的权值
w[i]
=
2^(i-1)
mod
11
计算公式
(1)
令结果为
r
根据下表找出
r
对应的校验码即为要求身份证号码的校验码c。
r
0
1
2
3
4
5
6
7
8
9
10
c
1
0
x
9
8
7
6
5
4
3
2
由此看出
x
就是
10,罗马数字中的
10
就是x,所以在新标准的身份证号码中可能含有非数字的字母x。