verificación javascript de la legitimidad del documento de identidad

Autor:Kit de Herramientas Inteligentes Tiempo de lanzamiento:2022-02-25 21:35:00 Número de palabras:5226 Leer:23689VEsegundo

Copie el siguiente código en el proyecto, llame directamente al método checkIdcard, pase el número de identificación, si devuelve "¡Verificado!" Si devuelve "¡Verificado!", entonces el número de ID es legal.

#GoogleAD

function checkIdcard(idcard) {
var Errors = new Array(
"¡Verificación superada!" ,
"¡Dígitos del número de identificación incorrectos!" ,
"¡La fecha de nacimiento del número de identificación está fuera de rango o contiene caracteres ilegales!" ,
"¡Error de verificación del número de documento de identidad!" , "¡Error de validación del número de documento de identidad!" , "¡Error de validación del número de documento de identidad!
"¡Región del documento de identidad es ilegal!"
);
var area = { 11: "Beijing", 12: "Tianjin", 13: "Hebei", 14: "Shanxi", 15: "Inner Mongolia", 21: "Liaoning", 22: "Jilin", 23: "Heilongjiang", 31: "Shanghai", 32: "Jiangsu", 33: "Zhejiang", 34: "Anhui", 35: "Fujian", 36. "Jiangxi", 37: "Shandong", 41: "Henan", 42: "Hubei", 43: "Hunan", 44: "Guangdong", 45: "Guangxi", 46: "Hainan", 50: "Chongqing", 51: "Sichuan", 52: "Guizhou", 53: "Yunnan", 54: "Tibet", 61: "Shaanxi", 62: "Gansu", 63: "Qinghai", 64: " Ningxia", 65: "Xinjiang", 71: "Taiwán", 81: "Hong Kong", 82: "Macao", 91: "Ultramar" }
var retflag = false;
var idcard, Y, JYM.
var idcard, Y, JYM; var S, M; var idcard_array = Y, JYM
var idcard_array = new Array();
idcard_array = idcard.split("");
// prueba de área
if (area[parseInt(idcard.substr(0, 2))] == null) return Errors[4];
// Comprobación de los dígitos y el formato del número de identidad
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) % 0 == 0); // Dígitos del número de identidad y comprobación del formato.
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}$/;//comprobar la legitimidad de la fecha de nacimiento
} 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}$/;//comprobar la legalidad de la fecha de nacimiento
}
if (ereg.test(idcard))
return Errores[0];
else {
return Errores[2];
}
break; case 18: return Errors[0]; else { return Errors[2]; }
case 18.
//Detección del número de identidad de 18 dígitos
//Comprobación de la fecha de nacimiento
//leap year month day:((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]))
//PingYiYuanDao:((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-9X]$/;//expresión regular legal para fechas de nacimiento de años bisiestos
} 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-9X]$/;//legitimidad de la expresión regular para una fecha de nacimiento de año plano
}
if (ereg.test(idcard)) { //comprobar la legalidad de la fecha de nacimiento
//calcular el dígito de control
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 = "10X98
JYM = "10X98765432";
M = JYM.substr(Y, 1); // juzga el bit de paridad
if (M == idcard_array[17]) return Errors[0]; //detectar el dígito de control del ID
else return Errors[3];
}
else return Errors[2];
break;
por defecto
return Errors[1]; } else return Errors[2]; break; default.
break; por defecto: return Errors[1]; break
}
}

Contenido original, reproducido con atribución: Kit de Herramientas Inteligentes

Comentarios (Total 0)

Lectura relacionada

Resumen de expresiones regulares comunes

Resumen de las expresiones regulares más utilizadas por los programadores

Espectáculo de luces del puente sobre el río Yangtsé de Wujiagang, espectáculo de drones

Espectáculo de luces y actuación de drones en el puente sobre el río Yangtsé de Wujiagang, en el distrito de Wujiagang, ciudad de Yichang, provincia de Hubei, China, 31 de julio de 2021.

Melocotón amarillo Jinxiang del melocotonero Anfusi de Zhijiang - Un dulce regalo del verano

En este caluroso verano, un bocado de crujientes, dulces y jugosos melocotones amarillos parece aportarnos infinito frescor y felicidad. Los melocotones amarillos Jinxiang del Jardín de Melocotones de Anfusi, en la ciudad de Zhijiang, provincia de Hubei, son sencillamente la mejor fruta de la temporada. Ya están disponibles los melocotones amarillos frescos recogidos esta misma mañana, con la fragancia del rocío matutino y el calor del sol. No importa dónde se encuentre, podemos hacerle llegar rápidamente la dulzura del verano, con entrega gratuita en los alrededores de la ciudad de Yichang, provincia de Hubei.

Llame a Microsoft PPT a la imagen impulsada por la falta de soluciones de memoria

Llame a Microsoft PPT a la imagen provocada por la falta de memoria (System.OutOfMemoryException) soluciones

Cómo hacer un plan de carrera para diseñadores - Plan personal PDI a 5 años

Echando la vista atrás, hace 4 años, los objetivos que me propuse se han ido cumpliendo poco a poco. Encontrar la ruta que debe desarrollarse a sí mismo, por lo que compartir la experiencia pasada.

Sugerencias y comentarios Póngase en contacto con nosotros