Die ID-Nummer ist ein wichtiges Dokument, das Menschen im täglichen Leben häufig verwenden, und die Überprüfung des letzten Prüfcodes in der ID-Nummer ist ein wichtiger Teil dafür, ob die ID-Nummer legal ist. Beim Programmieren in PHP können wir reguläre Ausdrücke verwenden, um den Prüfcode in der ID-Nummer zu überprüfen und so die Gültigkeit der ID-Nummer sicherzustellen. Im Folgenden wird die Methode zur Überprüfung des Prüfcodes der Personalausweisnummer mithilfe regulärer PHP-Ausdrücke vorgestellt.
Zunächst müssen wir das Format der ID-Nummer verstehen. Die ID-Kartennummer besteht aus 18 Ziffern und Buchstaben, wobei die ersten 17 Ziffern Provinz, Stadt, Landkreis, Geburtsdatum und andere Informationen darstellen und die letzte Ziffer ein Prüfcode ist. Die Berechnungsregeln des Prüfcodes lauten wie folgt:
Mit den oben genannten Grundkenntnissen können wir reguläre Ausdrücke schreiben, um ID-Nummern zu überprüfen. Das Folgende ist ein Beispielcode:
function checkIDCard($id_card){ $pattern = '/^d{6}(19|20)d{2}(0d|1[0-2])([0-2]d|3[0-1])d{3}[0-9X]$/'; if(preg_match($pattern, $id_card)){ $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); $ai = str_split(substr($id_card, 0, 17)); $n = 0; for($i=0; $i<17; $i++){ $n += $wi[$i] * $ai[$i]; } $c = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); $check_code = $c[$n % 11]; return $check_code == substr($id_card, -1); } return false; } $id_card = '33010219950917413X'; if(checkIDCard($id_card)){ echo '身份证号码校验成功'; }else{ echo '身份证号码校验失败'; }
Im obigen regulären Ausdruck bedeutet d die Übereinstimmung von Zahlen, {6} bedeutet die Übereinstimmung von 6 Malen, (19|20)d{2} bedeutet die Übereinstimmung von 4-stelligen Zahlen, beginnend mit 19 oder 20, (0d|1[0-2]) bedeutet übereinstimmende Monate von 01 bis 12, ([0-2]d|3[0-1]) bedeutet übereinstimmende Daten von 01 bis 31, d{3} bedeutet übereinstimmende drei weitere Zahlen , [0-9X]$ bedeutet, dass es mit einer Zahl oder einem X endet. Dadurch wird die ID-Nummer effektiv abgeglichen.
Endlich können wir testen, ob unser Code funktioniert. Wir können den Bestätigungscode der ID-Nummer ändern, um zu überprüfen, ob die Überprüfungsfunktion des Codes normal ist. Zum Beispiel:
$id_card = '330102199509174133';
oder:
$id_card = '330102199509174139';
Die Prüfcodes dieser beiden ID-Nummern sind falsch und sollten die Überprüfung nicht bestehen. Und wenn wir den Code ausführen, werden wir sehen, dass das Ergebnis des Verifizierungsfehlers der ID-Nummer ausgegeben wird, was beweist, dass unser Code normal funktionieren kann.
Kurz gesagt, die Methode zur Verwendung eines regulären PHP-Ausdrucks zur Überprüfung des Prüfcodes der ID-Kartennummer ist relativ einfach. Sie müssen lediglich einen geeigneten regulären Ausdruck und zugehörige Funktionen schreiben, um die Überprüfung der ID-Kartennummer einfach abzuschließen.
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie den Prüfcode der Personalausweisnummer mithilfe eines regulären PHP-Ausdrucks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!