javascript vérification de la légitimité de la carte d'identité

Auteur:Boîte à Outils Intelligente Heure de sortie:2022-02-25 21:35:00 Nombre de mots:5392 Lire:18896Une fois

Copiez le code suivant dans le projet, appelez directement la méthode checkIdcard, passez le numéro d'identification, si elle renvoie "Vérifié !" S'il renvoie "Verified !", c'est que le numéro d'identification est légal.

#GoogleAD

function checkIdcard(idcard) {
var Errors = new Array(
"Verification passed !" ,
"Chiffres du numéro d'identification incorrects !" ,
"La date de naissance du numéro d'identification est en dehors de la plage ou contient des caractères illégaux !" ,
"Erreur de vérification du numéro de la carte d'identité !" , "Erreur de validation du numéro de la carte d'identité !" , "Erreur de validation du numéro de la carte d'identité !
"La région de la carte d'identité est illégale !"
) ;
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 : "Outre-mer" }
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("") ;
// test de zone
if (area[parseInt(idcard.substr(0, 2))] == null) return Errors[4] ;
// Vérification des chiffres et du format du numéro d'identité
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) ; //Contrôle du nombre de chiffres et du format du numéro d'identité.
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}$/;//test de la légitimité de la date de naissance
} 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}$/;//testant la légalité de la date de naissance
}
if (ereg.test(idcard))
return Errors[0] ;
else {
return Errors[2] ;
}
break ; case 18 : return Errors[0] ; else { return Errors[2] ; }
case 18.
/Détection du numéro d'identité à 18 chiffres
/Vérification de la légitimité de la date de naissance
//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-9Xx]$/;//expression régulière légale pour les dates de naissance des années bissextiles
} 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]$/;//légitimité de l'expression régulière pour une année plate date de naissance
}
if (ereg.test(idcard)) { //tester la légalité de la date de naissance
//calculer le chiffre de contrôle
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) ; // juge le bit de parité
if (M == idcard_array[17]) return Errors[0] ; //détecter le chiffre de contrôle de l'ID
else return Errors[3] ;
}
else return Errors[2] ;
break ;
par défaut.
return Errors[1] ; } else return Errors[2] ; break ; default.
break ; default : return Errors[1] ; break
}
}

Contenu original, reproduit avec attribution : Boîte à Outils Intelligente

Commentaires (0 articles)

Lecture connexe

Pêche jaune Jinxiang du jardin de pêches Anfusi à Zhijiang - Un doux cadeau d'été

En cet été caniculaire, une bouchée de pêches jaunes croquantes, sucrées et juteuses semble nous apporter une fraîcheur et un bonheur infinis. Les pêches jaunes Jinxiang du jardin de pêches Anfusi de la ville de Zhijiang, dans la province de Hubei, sont tout simplement les meilleurs fruits de la saison. Les pêches jaunes fraîches cueillies ce matin même, avec le parfum de la rosée matinale et la chaleur du soleil, sont désormais disponibles. Où que vous soyez, nous pouvons vous livrer rapidement la douceur de l'été, avec une livraison gratuite autour de la ville de Yichang, dans la province du Hubei.

Ali cloud, tencent cloud website icon dynamic effect, design + code I teach you !

White peut aussi apprendre les tutoriels secs, graphiques + vidéo, je ne crois pas que vous ne puissiez toujours pas apprendre !

Naissance de l'outil de conversion en ligne du format de fichier OFD

"Boîte à Outils Intelligente" recevait les fichiers OFD, le pont vers le site JAVA pour convertir le format, et finalement le PDF ou l'image présentée à l'utilisateur.

Wujiagang Yangtze River Bridge Light Show, Drone Show

Spectacle de lumière et de drones sur le pont de Wujiagang sur le fleuve Yangtze dans le district de Wujiagang, ville de Yichang, province du Hubei, 31 juillet 2021, Chine.

Comment établir un plan de carrière pour les designers - Plan personnel IDP sur 5 ans

Avec le recul, il y a 4 ans, les objectifs que je m'étais fixés se sont peu à peu concrétisés. Trouvez votre voie, développez votre personnalité, partagez votre expérience.

Suggestions et commentaires Contactez-nous