Algorithme de vérification de la carte d'identité 18 bits
Algorithme de code de vérification de la carte d'identité
Comment générer le code de vérification de la carte d'identité:
∑ (ai × wi) (mod11)
I: Indique le numéro de position comprenant le code de vérification de la gauche;
AI représente la valeur de caractère numérique en position i-tth;
Le facteur de pondération à la I-tème position de WI, sa valeur wi = mod (puissance (2, (n-1)), 11)
I181716151413121110987654321
WI79105842163791058421
Code de vérification correspondant:
∑ (Ai × Wi) (Mod11) 012345678910
Vérifier la valeur du caractère de code AI10X98765432
Voici la fonction de vérification:
Functionsfzjy (num)
iflen (num) = 15Then
cid = gauche (num, 6) et "19" et à droite (num, 9)
Elseiflen (num) = 17orlen (num) = 18Then
cid = gauche (num, 17)
endire
nsum = mid (cid, 1,1) * 7
nsum = nsum + mid (cid, 2,1) * 9
nsum = nsum + mid (cid, 3,1) * 10
nsum = nsum + mid (cid, 4,1) * 5
nsum = nsum + mid (cid, 5,1) * 8
nsum = nsum + mid (cid, 6,1) * 4
nsum = nsum + mid (cid, 7,1) * 2
nsum = nsum + mid (cid, 8,1) * 1
nsum = nsum + mid (cid, 9,1) * 6
nsum = nsum + mid (cid, 10,1) * 3
nsum = nsum + mid (cid, 11,1) * 7
nsum = nsum + mid (cid, 12,1) * 9
nsum = nsum + mid (cid, 13,1) * 10
nsum = nsum + mid (cid, 14,1) * 5
nsum = nsum + mid (cid, 15,1) * 8
nsum = nsum + mid (cid, 16,1) * 4
nsum = nsum + mid (cid, 17,1) * 2
'* Calculez le bit de contrôle
check_number = 12-nsummod11
Ifcheck_number = 10thenceck_number = "x" elseifcheck_number = 12thencheck_number = "1" elseifcheck_number = 11thencheck_number = "0" endifsfzjy = check_number
Finition de fin
Autres vérifications:
Sexe et date de naissance:
sfznum = numéro d'identification
Lenx = len (sfznum)
iflenx = 15Then
yy = "19" et mid (xian, 7,2)
mm = mid (xian, 9,2)
dd = mid (xian, 11,2)
AA = Mid (Xian, 15,1) '15-Digit Identity La carte peut être classée 15e, peut être divisée en 2 femmes
endire
iflenx = 18Then
yy = mid (xian, 7,4)
mm = mid (xian, 11,2)
dd = mid (xian, 13,2)