PHP - Sprawdzanie poprawności numeru PESEL Kategoria: PHP | Autor: Bartłomiej Gałęzia

if (!preg_match('/^[0-9]{11}$/', $pesel)) { //sprawdzamy czy ciąg ma 11 cyfr
    return false;
}

$arrSteps = array(1, 3, 7, 9, 1, 3, 7, 9, 1, 3); // tablica z odpowiednimi wagami
$intSum = 0;
for ($i = 0; $i < 10; $i++) {
    $intSum += $arrSteps[$i] * $pesel[$i]; //mnożymy każdy ze znaków przez wagć i sumujemy wszystko
}
$int = 10 - $intSum % 10; //obliczamy sumć kontrolną
$intControlNr = ($int == 10) ? 0 : $int;
if ($intControlNr == $pesel[10]) { //sprawdzamy czy taka sama suma kontrolna jest w ciągu
    return true;
}
return false;

Źródło: http://phpedia.pl/wiki/Walidacja_numeru_PESEL

Dodaj komentarz

Brak komentarzy, bądź pierwszy i dodaj swój komentarz