《GB11643-1999公民身份号码》规定,公民身份号码的编码对象、号码的结构和表示形式,使每个编码对象获得一个唯一的、不变的法定号码。
身份证号码规则:前1、2位数字表示:所在省份的代码;第3、4位数字表示:所在城市的代码;第5、6位数字表示:所在区县的代码;第7-14位数字表示:出生年、月、日;第15、16位数字表示:所在地的派出所的代码;第17位数字表示性别:奇数表示男性,偶数表示女性;第18位数字是校检码:也有的说是个人信息码,一般是随计算机的随机产生,用来检验身份证的正确性。校检码可以是0-9的数字,有时也用x表示。
法律依据:
已有2位网友发表了看法:
发表评论
card_code_check_function(corporation_code) {
var coefficient = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
var corporation_code_list = corporation_code.split("")
var lastNum = corporation_code[coefficient.length]
var total = 0
for(var i=0;i˂coefficient.length;i++){
console.log(coefficient[i])
total += coefficient[i]*Number(corporation_code_list[i])
}
console.log(total)
var oks = [1, 0, "x", 9, 8, 7, 6, 5, 4, 3, 2]
if (oks[total % 11].toString() === lastNum.toString().toLowerCase()) {
console.log('正确')
} else {
console.log('错误')
}
2、将这17位数字和系数相乘的结果相加。
3、用加出来和除以11,看余数是多少?
4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。(即余数0对应1,余数1对应0,余数2对应X...)
5、通过上面得知如果余数是3,就会在身份证的第18位数字上出现的是9。如果对应的数字是2,身份证的最后一位号码就是罗马数字x。
例如:某男性的身份证号码为【53010219200508011x】, 我们看看这个身份证是不是合法的身份证。
首先我们得出前17位的乘积和【(5*7)+(3*9)+(0*10)+(1*5)+(0*8)+(2*4)+(1*2)+(9*1)+(2*6)+(0*3)+(0*7)+(5*9)+(0*10)+(8*5)+(0*8)+(1*4)+(1*2)】是189,然后用189除以11得出的结果是189/11=17----2,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的检验码是X。所以,可以判定这是一个正确的身份证号码。