Wenn wir eine Internet-Website erstellen, verwenden wir bei der Registrierung persönlicher Daten häufig unsere ID-Nummer. Wir müssen die ID-Nummer überprüfen, sonst geben andere einfach die Nummer ein und geben Ihnen das Gefühl, dass diese Website sehr ist beschissen.
Es gibt Regeln für ID-Nummern.
Struktur und Form
1. Zahlenstruktur
Die Bürgeridentitätsnummer ist ein charakteristischer Kombinationscode, der aus einem siebzehnstelligen Körpercode und einem einstelligen Prüfcode besteht. Die Reihenfolge von links nach rechts ist: sechsstelliger Adresscode, achtstelliger Geburtsdatumscode, dreistelliger Sequenzcode und einstelliger Prüfcode.
2. Adresscode
Gibt den Verwaltungsbezirkscode des Kreises (Stadt, Banner, Bezirk) an, in dem sich der ständige Wohnsitz des Kodierungsobjekts befindet, und muss gemäß den Bestimmungen von GB/T2260 implementiert werden.
3. Geburtsdatumscode
Gibt das Jahr, den Monat und den Tag der Geburt des Kodierungsobjekts an. Es wird gemäß den Bestimmungen von GB/T7408 implementiert. Es gibt kein Trennzeichen zwischen den Jahres-, Monats- und Tagescodes.
4. Sequenzcode
Stellt die Sequenznummern dar, die Personen zugewiesen wurden, die im selben Jahr, Monat und Tag innerhalb des durch denselben Adresscode identifizierten Gebiets geboren wurden. Die ungeraden Nummern der Sequenzcodes werden Männern zugewiesen, und die geraden Nummern werden Frauen zugewiesen.
5. Bestätigungscode
Basierend auf dem vorherigen siebzehnstelligen Code wird der Prüfcode gemäß dem Prüfcode ISO 7064:1983.MOD 11-2 berechnet.
Berechnungsmethode
1. Multiplizieren Sie die vorherigen 17 Ziffern der ID-Nummer mit verschiedenen Koeffizienten. Die Koeffizienten von der ersten bis zur siebzehnten Stelle sind: 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2.
2. Addieren Sie die Ergebnisse der Multiplikation dieser 17-stelligen Zahlen und Koeffizienten.
3. Teilen Sie die addierte Summe durch 11. Was ist der Rest?
4. Der Rest kann nur 11 Zahlen sein: 0-1-2-3-4-5-6-7-8-9-10. Die entsprechende letzte ID-Nummer ist 1-0-X-9-8-7-6-5-4-3-2.
5. Aus dem oben Gesagten wissen wir, dass bei einem Rest von 3 die 18. Ziffer des Personalausweises als 9 erscheint. Ist die entsprechende Zahl 2, ist die letzte Zahl auf dem Personalausweis die römische Zahl x.
Beispiel: Die Ausweisnummer eines Mannes lautet [53010219200508011x]. Mal sehen, ob es sich bei diesem Ausweis um einen legalen Ausweis handelt.
Zuerst erhalten wir die Summe der Produkte der ersten 17 Ziffern [(5*7) (3*9) (0*10) (1*5) (0*8) (2*4) (1*2) (9*1) (2*6) (0*3) (0*7) (5*9) (0*10) (8*5) (0*8) (1*4) (1*2) ] ist 189, dann dividieren Sie 189 durch 11 und das Ergebnis ist 189/11=17----2, was bedeutet, dass der Rest 2 ist. Schließlich können wir durch die entsprechenden Regeln erkennen, dass der Prüfcode, der dem Rest 2 entspricht, X ist. Daher kann festgestellt werden, dass es sich um eine korrekte ID-Nummer handelt.
Das Obige stammt aus der Baidu-Enzyklopädie.
Dies ist ein relevantes Informationsbild, das im Internet gefunden wurde.
Den bekannten Informationen zufolge können wir die interne Implementierung dieser Methode in js schreiben. Die Überprüfung der ersten 17 Ziffern ist relativ einfach umzusetzen, daher werde ich nicht ins Detail gehen und mich auf die letzte Ziffer des Prüfcodes konzentrieren.
Hier wird nur der 18-stellige Personalausweis verifiziert, der 15-stellige Personalausweis der ersten Generation kann nicht verwendet werden.
Hier wird auch die Rechtmäßigkeit des Datums überprüft. Bei illegalen Datumsangaben wie 0230, 0431 usw. wird die Überprüfung nicht bestanden.
Wir können diese Methode auch zur JQuery-Validierung hinzufügen, um die Überprüfung zu erleichtern.
Schreiben Sie eine benutzerdefinierte JQuery-Validierungsüberprüfungsmethode
Lassen Sie uns eine einfache Demo machen und sehen, wie es funktioniert.