Moins non-sens, il suffit de mettre le code directement, l'analyse des commentaires est très claire, donc il n'y a pas de BB ici.
La copie de code est la suivante:
/ *
Selon les dispositions sur les numéros d'identité de la citoyenneté dans le National Standard GB 11643-1999 de la République populaire de Chine, le numéro d'identité de citoyenneté est un code de combinaison caractéristique, composé d'un code d'ontologie numérique à dix-sept chiffres et d'un code de vérification à un chiffre. L'ordre d'arrangement est de gauche à droite: code d'adresse à six chiffres, date de code de naissance à huit chiffres, code de séquence à trois chiffres et code de vérification à un chiffre.
Le code d'adresse représente le code de division administratif du comté (ville, bannière et district) où se trouve la résidence permanente de l'objet codé.
La date de code de naissance représente l'année, le mois et le jour de la naissance de l'objet codé, et l'année est représentée par quatre chiffres, et il n'y a pas de séparateur entre l'année, le mois et le jour.
Le code de séquence représente le numéro de séquence attribué aux personnes nées la même année, mois et jour dans la zone identifiée par le même code d'adresse. Les nombres impairs des codes de commande sont affectés aux hommes et même des chiffres sont affectés aux femmes.
Le code de vérification est un code de vérification calculé sur la base des dix-sept premiers codes de chiffres et selon le code de vérification de l'ISO 7064: 1983.mod 11-2.
Méthode de calcul de la date de naissance.
Le code d'identité du bit étend d'abord l'année de la naissance à 4 bits, ajoutant simplement un 19 ou 18, qui comprend toutes les personnes nées entre 1800 et 1999;
Ceux nés après la nouvelle année doivent avoir 18 ans, et il n'y a pas de tel inquiétude. Quant à ceux nés il y a 1 800 ans, il ne devrait y avoir aucun numéro d'identification à ce moment-là, ⊙⊙b khan ...
Ce qui suit est l'expression régulière:
Date de naissance 1800-2099 (18 | 19 | 20)? / D {2} (0 [1-9] | 1 [12]) (0 [1-9] | [12] / d | 3 [01])
ID Carte Expression régulière / ^ / d {6} (18 | 19 | 20)? / D {2} (0 [1-9] | 1 [12]) (0 [1-9] | [12] / d | 3 [01]) / d {3} (/ d | x) $ / i
Règles de vérification des bits Code d'adresse à 6 chiffres + date de naissance à 6 chiffres + numéro de séquence à 3 chiffres
Règles de vérification des bits Code d'adresse 6 bits + Date de naissance 8 bits + numéro de séquence 3 bits + bit de vérification 1 bits
Formule de règle de chiffre de vérification: ∑ (ai × wi) (mod 11) …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………. …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
Dans la formule (1):
i ----- Indique le numéro de séquence numérique du caractère numérique de la gauche, y compris le code de vérification;
Ai ---- représente la valeur de caractère numérique en position i-tth;
WI ----- montre le facteur de pondération à la I-TH Position, et sa valeur est calculée sur la base de la formule wi = 2 ^ (n-1) (MOD 11).
i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 2 1
Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
* /
// Vérification de la légalité du numéro d'identification
// prend en charge les numéros d'identification à 15 chiffres et à 18 chiffres
// Encodage d'adresse de soutien, date de naissance et vérification des chiffres de contrôle
Fonction IdentityCodevalid (code) {
var ville = {11: "Beijing", 12: "Tianjin", 13: "Hebei", 14: "Shanxi", 15: " Mongolie ", 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: "Yun Nan ", 54:" Tibet ", 61:" Shaanxi ", 62:" Gansu ", 63:" Qinghai ", 64:" Ningxia ", 65:" Xinjiang ", 71:" Taiwan ", 81:" Hong Kong ", 82:" Macao ", 91:" Foreign "};
var tip = "";
var pass = true;
if (! Code ||! / ^ / d {6} (18 | 19 | 20)? / d {2} (0 [1-9] | 1 [12]) (0 [1-9] | [12] / d | 3 [01]) / d {3} (/ d | x) $ / i.Test (code)) {{{3} (/ d | x) $ / i.Test (Code)) {)
TIP = "Erreur de format de numéro de carte d'identité";
pass = false;
}
else if (! City [code.substr (0,2)]) {
TIP = "Erreur d'encodage d'adresse";
pass = false;
}
autre{
// La carte d'identité à 18 chiffres doit être vérifiée pour le dernier bit de contrôle
if (code.length == 18) {
code = code.split ('');
// ∑ (ai × wi) (mod 11)
// Facteur de pondération
Var facteur = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
// bit d'étalonnage
var parity = [1, 0, 'x', 9, 8, 7, 6, 5, 4, 3, 2];
var sum = 0;
var ai = 0;
var wi = 0;
pour (var i = 0; i <17; i ++)
{
Ai = code [i];
wi = facteur [i];
sum + = ai * wi;
}
var dernier = parité [somme% 11];
if (parity [sum% 11]! = code [17]) {
TIP = "Vérifier l'erreur du bit";
pass = false;
}
}
}
if (! passer) alerte (pointe);
Pass de retour;
}
var c = '130981199312253466';
var res = identityCodevalid (c);
Et ça? Il s'agit d'un code de vérification du premier numéro d'identification très complet. Ce n'est pas la même dimension que les autres codes de vérification recherchés en ligne. Veuillez le retirer si vous en avez besoin.