Der Aufbau der ID-Nummer
Die ID-Nummer ist ein charakteristischer Kombinationscode, bestehend aus einem 17-stelligen Bodycode und einem Ein-Bit-Prüfcode.
Die Reihenfolge von links nach rechts ist: Sechsstelliger Adresscode, achtstelliger Geburtsdatumscode, dreistelliger Sequenzcode und einstelliger Prüfcode .
Adresscode (erste sechs Ziffern)
Gibt den Landkreis (Stadt, Banner, den Code der Verwaltungseinheit) an des Bezirks) werden gemäß den Bestimmungen von GB/T2260 umgesetzt.
Geburtsdatumscode (siebte bis vierzehnte Ziffer)
Gibt das Jahr und den Monat an, in dem das Codierungsobjekt geboren wurde , Tag, gemäß den Bestimmungen von GB/T7408 werden keine Trennzeichen zwischen den Jahres-, Monats- und Tagescodes verwendet.
Sequenzcode (15. bis 17. Ziffer)
gibt an, dass die Adressen durch denselben Adresscode innerhalb der gekennzeichnet sind In diesem Bereich werden Personen, die im selben Jahr, Monat und Tag geboren wurden, fortlaufende Nummern zugewiesen. Männern werden ungerade Nummern zugewiesen, und Frauen werden gerade Nummern zugewiesen.
Prüfcode (18. Ziffer)
1. Gewichtete Berechnung des siebzehnstelligen Ontologiecodes und die Formel
S= SUM(Ai * Wi), i=0, ... , 16, summiere zuerst die Gewichte der ersten 17 Ziffern.
Ai: Stellt den digitalen Wert der ID-Nummer an der i-ten Position dar
Wi: Stellt den Gewichtungsfaktor an der i-ten Position dar Position
Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2. Berechnungsmodul
Y = mod(S, 11)
3. Holen Sie sich den entsprechenden Prüfcode
Y: 0 1 2 3 4 5 6 7 8 9 10
Prüfcode: 1 0 X 9 8 7 6 5 4 3 2
Methode zur Überprüfung der ID-Nummer:
<?php function checkIdCard($idcard){ // 只能是18位 if(strlen($idcard)!=18){ return false; } // 取出本体码 $idcard_base = substr($idcard, 0, 17); // 取出校验码 $verify_code = substr($idcard, 17, 1); // 加权因子 $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); // 校验码对应值 $verify_code_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); // 根据前17位计算校验码 $total = 0; for($i=0; $i<17; $i++){ $total += substr($idcard_base, $i, 1)*$factor[$i]; } // 取模 $mod = $total % 11; // 比较校验码 if($verify_code == $verify_code_list[$mod]){ return true; }else{ return false; } } $idcard = '这里填写要验证的身份证号码'; var_dump(checkIdCard($idcard)); ?>
In diesem Artikel wird erläutert, wie Sie die ID-Nummer über PHP überprüfen. Weitere verwandte Inhalte finden Sie unter PHP Chinesische Website.
Verwandte Empfehlungen:
So erhalten Sie YouTube-Videoinformationen über PHP
Über die Lösung zur PHP-Deserialisierung, die false zurückgibt
So generieren Sie ein entsprechendes Array basierend auf einem String über PHP
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die ID-Nummer über PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!