Dienstag, 4 November 2025

Top 5 diese Woche

Ähnliche Tutorials

Personalausweis Prüfen

Unser Codeschnipsel überprüft, ob eine eingegebene deutsche Personalausweisnummer korrekt aufgebaut ist und ob die Prüfziffer stimmt. Es folgt dem offiziellen Schema (ISO 7064 Mod 10, 7, 3, 1) und zeigt verständlich, wie sich Prüfziffern berechnen lassen.
Ideal für Lernzwecke, Formularvalidierungen oder Integrationen in Benutzerverwaltungssysteme.

<?php
class PersonalausweisChecker
{
    private array $factors = [7, 3, 1];
    public function check(string $id): bool
    {
        $id = strtoupper(trim($id));
        if (!preg_match('/^[A-Z0-9]{9,10}$/', $id)) {
            return false;
        }
        $base = substr($id, 0, -1);
        $checkDigit = substr($id, -1);
        $calculated = $this->calculateCheckDigit($base);
        return $checkDigit === $calculated;
    }
    private function calculateCheckDigit(string $data): string
    {
        $sum = 0;
        $factorIndex = 0;
        for ($i = 0; $i < strlen($data); $i++) {
            $char = $data[$i];
            $value = ctype_digit($char) ? intval($char) : (ord($char) - 55);
            $sum += $value * $this->factors[$factorIndex];
            $factorIndex = ($factorIndex + 1) % 3;
        }
        return strval($sum % 10);
    }
}
$checker = new PersonalausweisChecker();
$testIDs = [
    "T22000129", // gültiges Beispiel
    "L01X00A23", // fiktiv
    "123456789"  // ungültig
];
foreach ($testIDs as $id) {
    echo "Prüfe: $id → " . ($checker->check($id) ? "✅ Gültig" : "❌ Ungültig") . "\n";
}
Vorheriges Tutorial
Nächstes Tutorial

Lesetipps für dich