Номер гражданства состоит из шестизначного адресного кода, восьмизначной даты кода рождения, трехзначного кода последовательности и однозначного кода проверки.
Первые две цифры адресного кода представляют провинцию, средние две цифры представляют город, а две последние цифры представляют округ
Код последовательности представляет номер последовательности, назначенный лицам, родившимся в том же году, месяце и дня в районе, идентифицированной тем же кодом адреса. Нечетные номера кодов заказа назначены мужчинам, и даже числа назначаются женщинам.
Код проверки является кодом проверки, рассчитанным на основе первых семнадцатизначных кодов, и в соответствии с кодом проверки ISO 7064: 1983. MOD 11-2.
Метод расчета кода проверки:
1) Умножьте 17-значный номер предыдущего идентификационного номера на различные коэффициенты, а коэффициенты от первой цифры до семнадцатой цифры: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2;
2) Добавьте результат умножения этих 17-значных чисел и коэффициентов, разделите их на 11, чтобы получить остаток;
4) Остальная часть может иметь только 11 чисел 0 1 2 3 4 5 6 7 8 9 10, а число последней идентификационной карты, соответствующей каждому, составляет 1 0 x 9 8 7 6 5 4 3 2.
Проверка законности идентификационного номера поддерживает 15-значный и 18-значный идентификационный номер, подтверждает кодирование адреса, дату рождения и проверку проверки цифр.
Кода -копия выглядит следующим образом:
<div style = "Padding: 20px 40px;">
<h1 style = "font-size: 20px; color:#999;"> Идентификационные карты </h1>
<input type = "text" Placeholder = "Введите идентификационный номер" id = "code">
<input type = "button" value = "Query" id = "btn">
<p id = "Home"> <strong> родной город: </strong> <pan> </span> </p>
<p id = "День рождения"> <strong> Дата рождения: </strong> <pan> </span> </p>
<p id = "sex"> <strong> Пол: </strong> <pan> </span> </p>
</div>
<script type = "text/javascript">
// Удалить струнную головку и хвостовые пространства
var home = '', день рождения = '', sex = '';
функция Trim (str) {
вернуть str.replace (/^/s*|/s*$/g, "");
}
// Проверьте удостоверение личности
Функция IdentityCodevalid (code) {
code = trim (code);
var City = {11: «Пекин», 12: «Tianjin», 13: «Hebei», 14: «Shanxi», 15: «Inner Монголия ", 21:" liaoning ", 22:" Jilin ", 23:" Heilongjiang ", 31:" Shanghai ", 32:" Цзянсу ", 33:" Чжэцзян ", 34:" Анхуи ", 35:" Фуцзян ", 36:" jiangxi ", 37:" Shandong ", 41:" 41: "41:" 41: "41:" 41: "41:" 41: "41:" 41: "41:" 41: "41:" 41: "41:" 41: "41:" 41: "41:" 41: "41:". Hubei ", 43:" Хунань ", 44:" Гуандун ", 45:" Гуанси ", 46:" Хайнань ", 50:" Чунцин ", 51:" СИЧУАН ", 52:" Гуйчжоу ", 53:" Yunnan ", 54:" Тибет ", 61:" Shaanxi ", 62:" gansu ", 63:" Цинхай ", 64:" ningxia ", 65:" Синьцзян ", 71:" Тайван ", 81:" Хонг Kong ", 82:" macao "};
if (! Code ||!/^/d {6} (18 | 19 | 20)?/D {2} (0 [1-9] | 1 [012]) (0 [1-9] | [12]/d | 3 [01])/d {3} (/d | x) $/i.test (code)) {
Alert («Ошибка формата номера идентификационных карт»);
home = '', день рождения = '', sex = '';
вернуть ложь;
}
if (! city [code.substring (0,2)]) {
Alert («ошибка кодирования адреса»);
home = '', день рождения = '', sex = '';
вернуть ложь;
}
if (code.length == 18) {// 18-битная идентификационная карта должна проверить последний контрольный бит
var CodeArr = code.split ('' ');
VAR -фактор = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 4, 2]; // весовой коэффициент
var parity = [1, 0, 'x', 9, 8, 7, 6, 5, 4, 3, 2]; // Проверьте бит
var sum = 0;
для (var i = 0; i <17; i ++) {
sum += codearr [i] * фактор [i];
}
if (паритет [sum % 11]! = Codearr [17]) {
Alert («Проверьте ошибку бита»);
home = '', день рождения = '', sex = '';
вернуть ложь;
}
}
//провинция
home = city [code.substring (0,2)];
//День рождения
день рождения = code.substring (6,10)+'Год'+code.substring (10,12)+'месяц'+code.substring (12,14)+'day';
//пол
if (code.length == 15) {
sex = code.substring (14,15)%2 == 0? «Женщина»: «мужчина»;
} else if (code.length == 18) {
sex = code.substring (14,17)%2 == 0? «Женщина»: «мужчина»;
}
}
// результат вывода
document.queryselector ('#btn'). onclick = function () {
var code = document.queryselector ('#code'). value;
IdentityCodevalid (code);
document.queryselector ('#home span'). innerhtml = home;
document.queryselector ('#span'). innerhtml = день рождения;
document.queryselector ('#sex span'). innerhtml = sex;
}
</script>
В этой статье в основном читается соответствующая информация о личности, основанную на правилах идентификационных карт граждан, что очень удобно и практично, и рекомендуется всем.