To dla tych co szukają zostawię małą wskazówkę
<?php
function check_pesel($pesel)
{
if (($pesel[9] % 2) == 0) $pesel_sex = ' kobieta';
else $pesel_sex = 'mężczyzna';
$steps = array(1
, 3
, 7
, 9
, 1
, 3
, 7
, 9
, 1
, 3
); for ($x = 0; $x < 10; $x++) $sum_nb += $steps[$x] * $pesel[$x];
$sum_m = 10 - $sum_nb % 10;
if ($sum_m == 10) $sum_m = 0;
if ($sum_m == $pesel[10]) return 1;
return 0;
}
/* przykład użycia
$pesel="77080301316";
if (check_pesel($pesel) != 0){
echo "PESEL: $pesel <br>\nrPłeć: $pesel_sex";
} else {
echo "Numer PESEL: <i>$pesel</i> jest nieprawidłowy";
}
*/
?>
Dorzucę też od razu weryfikację nr kont bankowego ;-)
<?php
function nrb($nrb) {
if (strlen($nrb)<>26
) return 0; $nrb .="252100";
$wagi = array(57
,93
,19
,31
,71
,75
,56
,25
,51
,73
,17
,89
,38
,62
,45
, 53,15,50,5,49,34,81,76,27,90,9,30,3,10,1);
for ($i=0; $i<30;$i++) $suma += $nrb[$i+2]*$wagi[$i];
$liczba = sprintf("%02d", 98
- $suma%97
); if ($nrb[0]==$liczba[0] and $nrb[1]==$liczba[1]) return 1;
return 0;
}
/* przykład użycia
$numer="07109010790417338226000401";
if (nrb($numer)) echo "NRB poprawny";
else echo "NRB błędny";
*/
?>
Teraz wystarczy tą funkcję wstawić w pętle i wszystko