Strona główna Funkcja walidująca numer PESEL
Wpis
Anuluj

Funkcja walidująca numer PESEL

Funkcja walidująca numer PESEL

Ostatnio przyszło mi stworzyć funkcję walidującą numer PESEL. Oczywiście najpierw pogrzebałem w encyklopedii (można ją znaleźć pod adresem www.google.pl), and viola!

Oto kod:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function sprawdzPESEL($str)
{
    if (strlen($str) != 11 || !is_numeric($str)) //sprawdzamy czy podany numer ma 11 znaków
    {
        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] * $str[$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 == $str[10]) //sprawdzamy czy taka sama suma kontrolna jest w ciągu
    {
        return true;
    }
    return false;
}
Ten post jest udostępniony na licencji CC BY 4.0 przez autora.

Tylko liczby

Co nowego w PHP 5.4?