Javascript-Überprüfung der Rechtmäßigkeit des Personal ausweises

Autor:Bibliothek für intelligente Werkzeuge Veröffentlichung szeit:2022-02-25 21:35:00 Anzahl der Wörter:4596 Lesen Sie:7994Zeiten

Kopieren Sie den folgenden Code in das Projekt, rufen Sie die checkIdcard-Methode direkt auf, geben Sie die ID-Nummer weiter und geben Sie "Verification bestanden!" zurück. Dies bedeutet, dass die ID-Nummer legal ist.

# GoogleAD #

Function check Idcard(idcard) {
Var Errors = neuer Array (
"überprüfung bestanden! ",
"Die Anzahl der ID-Nummern ist falsch! ",
"Das Geburtsdatum der ID-Nummer liegt au?erhalb des Bereichs oder enth?lt illegale Zeichen! ",
"Falsche überprüfung der ID-Nummer! ",
"Personal ausweis bereich ist illegal! "
);
Var area = { 11: "Peking", 12: "Tianjin", 13: "Hebei", 14: "Shanxi", 15: "Innere Mongolei", 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: "Ausland" }
Var retflag = false;
Var idcard, Y, JYM;
Var S, M;
Var idcard_array = new Array();
Idcard_array = idcard.split("");
// Gebiets inspektion
If (area[parse Int(idcard.substr(0, 2))] = = null) return Errors[4];
// Identit?ts nummer Ziffern-und Format prüfung
Switch (idcard.length) {
Case 15:
If (parse Int(idcard.substr(6, 2)) + 1900) % 4 = = 0 | | (parse Int(idcard.substr(6, 2) + 1900) %
100 = = 0 & & (parse Int(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}$/;// Legitimit?t des Geburtsdatums testen
} 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}$/;// Prüfung der Rechtm??igkeit des Geburtsdatums
}
If (ereg.test(idcard))
Return Errors[0];
Else {
Return Errors[2];
}
Break;
Case 18:
// 18-stellige Erkennung von Identit?ts nummern
// Rechtm??igkeit prüfung des Geburtsdatums
// Jahr, Monat und Tag:((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]))
// Jahr, Monat und Tag:((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 (parse Int(idcard.substr(6, 4)) % 4 = = 0 | | (parse Int(idcard.substr(6, 4)) % 100 = = = 0 & & &
Parse Int(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]$/;// Legitimit?t regul?rer Ausdruck des Geburtsdatums in Schaltjahren
} 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]$/;// Legitimit?t eines normalen Geburtsdatums Ausdruck
}
If (ereg.test(idcard)) {// Prüfung der Rechtm??igkeit des Geburtsdatums
// Prüfziffer berechnen
S = (parse Int(idcard_array[0]) + parse Int(idcard_array[10]) * 7
+ (Parse Int(idcard_array[1]) + parse Int(idcard_array[11]) * 9
+ (Parse Int(idcard_array[2]) + parse Int(idcard_array[12]) * 10
+ (Parse Int(idcard_array[3]) + parse Int(idcard_array[13])) * 5
+ (Parse Int(idcard_array[4]) + parse Int(idcard_array[14])) * 8
+ (Parse Int(idcard_array[5]) + parse Int(idcard_array[15]) * 4
+ (Parse Int(idcard_array[6]) + parse Int(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 = "10 X98765432";
M = JYM.substr(Y, 1);// Beurteilung der Prüfziffer
If (M = = idcard_array[17]) return Errors[0]; // Prüfziffer für die Erkennung der ID
Else return Errors[3];
}
Else return Errors[2];
Break;
Default:
Return Errors[1];
Break;
}
}

Original inhalt, bitte geben Sie die Quelle für den Nachdruck an:Bibliothek für intelligente Werkzeuge

Kommentare (insgesamt 0)

Vorschläge und Feedback Kontaktieren Sie uns