javascript verificação da legitimidade do bilhete de identidade

Autor:Kit de Ferramentas Inteligentes Tempo de lançamento:2022-02-25 21:35:00 Número de palavras:5161 Leia:27719Vezes

Copie o seguinte código para o projeto, chame diretamente o método checkIdcard, passe o número de ID, se devolver "Verified!" Se devolver "Verificado!", então o número de ID é legal.

#GoogleAD

function checkIdcard(idcard) {
var Erros = new Array(
"Verificação aprovada!" ,
"Dígitos do número de ID incorrectos!" ,
"A data de nascimento do número de ID está fora do intervalo ou contém caracteres ilegais!" ,
"Erro de verificação do número do bilhete de identidade!" , "Erro de validação do número do bilhete de identidade!" , "Erro de validação do número do bilhete de identidade!
"A região do bilhete de identidade é 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: "Taiwan", 81: "Hong Kong", 82: "Macau", 91: "Overseas" }
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("");
// teste de área
if (area[parseInt(idcard.substr(0, 2))] == null) return Errors[4];
// Verificação dos dígitos do número de identificação e do formato
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); //Verificar o número de dígitos e o formato do número de identificação.
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}$/;//teste a legitimidade da data de nascimento
} 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}$/;//testando a legalidade da data de nascimento
}
se (ereg.test(idcard))
return Erros[0];
senão {
return Erros[2];
}
break; case 18: return Errors[0]; else { return Errors[2]; }
case 18.
/Deteção do número de identificação de 18 dígitos
//Controlo de legitimidade para a data de nascimento
//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]))
se (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]$/;//expressão regular legal para datas de nascimento de anos bissextos
} 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]$/;//legitimidade da expressão regular para uma data de nascimento de ano fixo
}
if (ereg.test(idcard)) { //teste a legalidade da data de nascimento
//calcular o dígito de controlo
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); // avalia o bit de paridade
if (M == idcard_array[17]) return Errors[0]; //detetar o dígito de controlo do ID
senão retorna Erros[3];
}
senão devolve Erros[2];
pausa;
default.
return Errors[1]; } else return Errors[2]; break; default.
break; default: return Errors[1]; break
}
}

Conteúdo original, reproduzido com atribuição: Kit de Ferramentas Inteligentes

Comentários (0 no total)

Leitura relacionada

Espetáculo de luzes da ponte do rio Yangtze de Wujiagang, espetáculo de drones

Espetáculo de luzes e atuação de drones na ponte sobre o rio Yangtze Wujiagang, no distrito de Wujiagang, cidade de Yichang, província de Hubei, em 31 de julho de 2021, China.

Grande neve nas montanhas em 2022

Cena de neve que pode deriva ~

Como elaborar um plano de carreira para designers - Plano pessoal de PDI para 5 anos

Olhando para trás, há 4 anos atrás, os objectivos que estabeleci para mim foram gradualmente concretizados. Encontre o caminho que deve seguir para se desenvolver, por isso partilhe a experiência passada.

Pêssego amarelo Jinxiang do Jardim de Pêssegos Anfusi em Zhijiang - Um doce presente de verão

Neste verão quente, uma boca cheia de pêssegos amarelos estaladiços, doces e sumarentos parece trazer-nos uma frescura e felicidade infinitas. Os pêssegos amarelos Jinxiang do Anfusi Peach Garden, na cidade de Zhijiang, província de Hubei, são o melhor fruto da época. Os pêssegos amarelos frescos colhidos esta manhã, com a fragrância do orvalho da manhã e o calor do sol, estão agora disponíveis. Independentemente da sua localização, podemos entregar-lhe rapidamente a doçura do verão, com entrega gratuita na cidade de Yichang, província de Hubei.

javascript verificação da legitimidade do bilhete de identidade

Combinando informações-chave como a região e o género, a legitimidade dos números de identificação é verificada com precisão através de js.

Sugestões e feedback Contacte-nos