Javascript проверяет законность удостоверения личности

Автор:Библиотека интеллектуальных инструментов Время выхода:2022-02-25 21:35:00 Количество слов:4336 Читайте:8174Раз

Скопируйте следующий код в проект, вызовите метод checkIdcard напрямую, передайте идентификационный номер и верните ?Проверка прошла!? Это означает, что идентификационный номер является законным.

# GoogleAD #

Function checkIdcard(idcard) {
Var Errors = new Array (
?Проверка прошла! ",
"Идентификационный номер неверен! ",
"Идентификационный номер Дата рождения выходит за рамки или содержит незаконные символы! ",
?Ошибка проверки идентификационного номера! ",
?Зона удостоверения личности незаконна! "
);
Var area = { 11: "Пекин", 12: "Тяньцзинь", 13: "Хэбэй", 14: "Шаньси", 15: "Внутренняя Монголия", 21: "Ляонин", 22: "Цзилинь", 23: "Хэйлунцзян", 31: "Шанхай", 32: ?Цзянсу?, 33: ?Чжэцзян?, 34: "Аньхой", 35: "Фуцзянь", 36: "Цзянси", 37: "Шаньдун", 41: "Хэнань", 42: "Хубэй", 43: "Хунань", 44: "Гуандун", 45: "Гуанси", 46: "Хайнань", 50: ?Чунцин?, 51: ?Сычуань?, 52: "Гуйчжоу", 53: "Юньнань", 54: "Тибет", 61: "Шэньси", 62: "Ганьсу", 63: "Цинхай", 64: "Нинся", 65: "Синьцзян", 71: "Тайвань", 81: "Гонконг", 82: ?Макао?, 91: ?За рубежом? }
Var retflag = false;
Var idcard, Y, JYM;
Var S, M;
Var idcard_array = new Array();
Idcard_array = idcard.split("");
// Региональный осмотр
If (area[parseInt(idcard.substr(0, 2))] = = null) return Errors[4];
// Идентификационный номер и проверка формата
Switch (idcard.length) {
Case 15:
If ((parseInt(idcard.substr(6, 2)) + 1900) % 4 = = 0 | | ((parseInt(idcard.substr(6, 2)) + 1900) %
100 = = 0 & & (parseInt(idcard.substr(6, 2) + 1900) % 4 = = 0)) {
Ereg = /^[1-9][0-9]{5}[0-9]{2}((01 | 03 | 05 | 07 | 08 | 10 | 12)(0[1-9]|[1-2][0-9]| 3[0-1])|(04 | 06 | 09 | 11)(0[1-9]|[1-2][0-9]| 30)| 02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;// Проверка законности даты рождения
} Else {
Ereg = /^[1-9][0-9]{5}[0-9]{2}((01 | 03 | 05 | 07 | 08 | 10 | 12)(0[1-9]|[1-2][0-9]| 3[0-1])|(04 | 06 | 09 | 11)(0[1-9]|[1-2][0-9]| 30)| 02(0[1-9]| 1[0-9]| 2[0-8]))[0-9]{3}$/;// Проверка законности даты рождения
}
If (ereg.test(idcard))
Return Errors[0];
Else {
Return Errors[2];
}
Break;
Case 18:
// 18-битное обнаружение идентификационных номеров
// Проверка законности даты рождения
// День луны: (01 | 03 | 05 | 07 | 08 | 10 | 12)(0[1-9]|[1-2][0-9]| 3[0-1])|(04 | 06 | 09 | 11)(0[1-9]|[1-2][0-9]| 30)| 02(0[1-9]|[1-2][0-9]))
// День месяца: (01 | 03 | 05 | 07 | 08 | 10 | 12)(0[1-9]|[1-2][0-9]| 3[0-1])|(04 | 06 | 09 | 11)(0[1-9]|[1-2][0-9]| 30)| 02(0[1-9]| 1[0-9]| 2[0-8]))
If (parseInt(idcard.substr(6, 4)) % 4 = = 0 | | (parseInt(idcard.substr(6, 4)) % 100 = = 0 & &
ParseInt (idcard.substr(6, 4)) % 4 = = 0) {
Ereg = /^[1-9][0-9]{5}19[0-9]{2}((01 | 03 | 05 | 07 | 08 | 10 | 12)(0[1-9]|[1-2][0-9]| 3[0-1])|(04 | 06 | 09 | 11)(0[1-9]|[1-2][0-9]| 30)| 02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;// Регулярное выражение законности даты рождения високосного года
} Else {
Ereg = /^[1-9][0-9]{5}19[0-9]{2}((01 | 03 | 05 | 07 | 08 | 10 | 12)(0[1-9]|[1-2][0-9]| 3[0-1])|(04 | 06 | 09 | 11)(0[1-9]|[1-2][0-9]| 30)| 02(0[1-9]| 1[0-9]| 2[0-8]))[0-9]{3}[0-9Xx]$/;// Регулярное выражение законности даты рождения в год
}
If (ereg.test(idcard)) {// проверить законность даты рождения
// Расчет контрольного бита
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
+ (ParseInt (idcard_array[1]) + parseInt(idcard_array[11])) * 9
+ (ParseInt (idcard_array[2]) + parseInt(idcard_array[12])) * 10
+ (ParseInt (idcard_array[3]) + parseInt(idcard_array[13])) * 5
+ (ParseInt (idcard_array[4]) + parseInt(idcard_array[14])) * 8
+ (ParseInt (idcard_array[5]) + parseInt(idcard_array[15])) * 4
+ (ParseInt (idcard_array[6]) + parseInt(idcard_array[16])) * 2
+ ParseInt (idcard_array[7]) * 1
+ ParseInt (idcard_array[8]) * 6
+ ParseInt (idcard_array[9]) * 3;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y, 1);// оценка контрольного бита
If (M = = idcard_array[17]) return Errors[0]; // контрольный бит для определения ID
Else return Errors[3];
}
Else return Errors[2];
Break;
Default:
Return Errors[1];
Break;
}
}

Оригинальный контент, перепечатка, пожалуйста, укажите источник:Библиотека интеллектуальных инструментов

Комментарии (всего 0)

Связанные чтения

Вызов Microsoft PPT в изображение, чтобы предложить решение проблемы нехватки памяти

Вызов Microsoft PPT в изображение, чтобы вызвать недостаточную память (System.OutOfMemoryException) решение

Как дизайнер планирует карьеру-5 лет IDP личное планирование

Оглядываясь назад на себя 4 года назад, цели, которые я поставил перед собой, постепенно достигли своих целей. Найдите маршрут, который вы должны развивать, поэтому поделитесь своим прошлым опытом.

Онлайн инструмент преобразования формата файлов OFD рождается

После получения файла OFD «Smart Tools Library» мост получает формат преобразования сайта JAVA и в конечном итоге представляет PDF или изображение пользователю.

Снег в горах в 2022 году

Снежная сцена, которая может дрейфовать ~

Wujiagang мост через реку Янцзы световое шоу, шоу дронов

31 июля 2021 года на мосту через реку Вуцзяган в районе Уцзяган города Ичан провинции Хубэй состоялось световое шоу и выступление дронов.

Рекомендации и отзывы Свяжитесь с нами