Fonction CheckCardId(e)
arrVerifyCode = Split(1,0,x,9,8,7,6,5,4,3,2, ,)
Wi = Divisé (7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2, ,)
Vérificateur = Split (1,9,8,7,6,5,4,3,2,1,1, ,)
Si Len(e) < 15 Ou Len(e) = 16 Ou Len(e) = 17 Ou Len(e) > 18 Alors
CheckCardId= Il y a 15 ou 18 chiffres dans le numéro d'identification.
CheckCardId = Faux
Fonction de sortie
Fin si
Dim. A
Si Len(e) = 18 Alors
Ai = Milieu (e, 1, 17)
SinonSi Len(e) = 15 Alors
Ai=e
Ai = Gauche (Ai, 6) & 19 & Milieu (Ai, 7, 9)
Fin si
Si ce n'est pas IsNumeric (Ai), alors
CheckCardId= La carte d'identité doit être composée de chiffres sauf le dernier chiffre !
Fonction de sortie
Fin si
Dim strYear, strMonth, strDay
strAnnée = CInt (Mid (Ai, 7, 4))
strMois = CInt(Mid(Ai, 11, 2))
strDay = CInt (Mid (Ai, 13, 2))
Jour de naissance = Trim(strYear) + - + Trim(strMonth) + - + Trim(strDay)
Si IsDate(BirthDay) Alors
Si DateDiff(aaaa,Maintenant,BirthDay) <-140 ou cdate(BirthDay)> date() Alors
CheckCardId= Saisie incorrecte de la carte d'identité !
Fonction de sortie
Fin si
Si strMonth > 12 Ou strDay > 31 Alors
CheckCardId= Saisie incorrecte de la carte d'identité !
Fonction de sortie
Fin si
Autre
CheckCardId= Saisie incorrecte de la carte d'identité !
Fonction de sortie
Fin si
Dim i,TotalmulAiWi
Pour i = 0 à 16
TotalmulAiWi = TotalmulAiWi + CInt(Mid(Ai, i + 1, 1)) * Wi(i)
Suivant
Dim valeurMod
modValue = TotalmulAiWi Mod 11
Dim strVerifyCode
strVerifyCode = arrVerifyCode (modValue)
Ai = Ai & strVerifyCode
CheckCardId = Ai
Si Len(e) = 18 Et e <> Ai Alors
CheckCardId= Numéro d'identification entré incorrect !
Fonction de sortie
Fin si
Fonction de fin
réponse.write CheckCardId(528337194801020025) ' ' ' ' ' ' '