sprawdzenie PESELa

Czytasz archiwalną wersję wątku "sprawdzenie PESELa" z forum pl.comp.lang.php



Strona 1 z 11


Marcin Lubojański - 14 Lut 2002, 17:07
Witam
Ma ktoś funkcję sprawdzającą poprawność numeru PESEL ?
Chodzi mi żeby było sprawdzane czy jest tam poprawna data w tym PESELu.
W faq-u jest tylko NIP i REGON.

Marcin Lubojański
---------
www.tramping.slask.prv.pl  - niusy turystyczne ze Śląska i okolic, relacje z
wypraw




Marcin Lubojański - 14 Lut 2002, 18:07
Ma ktoś funkcję sprawdzającą poprawność numeru PESEL ?
Chodzi mi żeby było sprawdzane czy jest tam poprawna data w tym PESELu.



Zrobiłem coś takiego, tylko nie wiem czy to wystarczy do zabazpieczenia :

if (ereg("([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{5})",$pesel,$wynik))
     {
       if ($wynik[2]12) {print("<font color=redMusisz podać poprawny
PESEL</FONT");}
      elseif ($wynik[3]31) {print("<font color=redMusisz podać poprawny
PESEL</FONT");}
      else
           {
               //dodaj do bazy
            }
      }
   else {print("<font color=redMusisz podać poprawny PESEL</FONT");}

Marcin Lubojański
---------
www.tramping.slask.prv.pl  - niusy turystyczne ze Śląska i okolic, relacje z
wypraw



veyDer - 15 Lut 2002, 00:51

Witam
Ma ktoś funkcję sprawdzającą poprawność numeru PESEL ?
Chodzi mi żeby było sprawdzane czy jest tam poprawna data w tym PESELu.
W faq-u jest tylko NIP i REGON.



$strPattern =
'/^[09]{2}((0[13578]|1[02])(0[1-9]|[12][0-9]|3[0-1])|(0[469]|11)(0[1-9]|[12]
[0-9]|30)|(02)(0[1-9]|1[0-9]|2[0-8])))[0-9]{5}$/';

if (preg_match($strPattern $byc_moze_nip)) {
    echo "NIP";

} else {
    echo "Nie NIP";
}



Nie sprawdza lat przestępnych, ale mniej więcej może chyba być? ;)
Marcin Lubojański



---

Adres e-mail rozszyfruj ROT13



veyDer - 15 Lut 2002, 00:54
if (preg_match($strPattern $byc_moze_nip)) {
    echo "NIP";
} else {
    echo "Nie NIP";
}



preg_replace('NIP','PESEL',$post_veyDera);

;)

---

Adres e-mail rozszyfruj ROT13




Adam Major - 15 Lut 2002, 04:22
Witaj!

Funkcja do sprawdzania PESEL w oparciu o sumę kontrolną:

function check_pesel($pesel)
{
   if (strlen($pesel) != 11 OR !is_numeric($pesel)) return 0;
   $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_c = 0; else $sum_c = $sum_m;
   if ($sum_c == $pesel[10]) return 1;
   return 0;

}



Dodałem już do FAQ.

Sprawdzanie wyrażeniami regularnymi daty niewiele może pomóc, ponieważ
algorytm PESEL'a pozwala na nadawanie go ludziom urodzonym w latach
1800 - 2299, wykonuje się to poprzez dodawanie odpowieniej liczby do
miesiąca urodzin np. osoba urodzona dzisiaj będzie miała następujące
pierwsze 6 cyfr: 022215

Dodatkowo z przedostatniej cyfry można wyciągnąć płeć osobnika, przydaje
się to bardzo do (ręcznej) weryfikacji poprawności formularza z danymi
osobowymi (jak ktoś wpisze, że jest Zenek a ma PESEL kobiety to ... ;-)

szczegóły algorytmu PESEL oraz innych znajdziesz pod adresem:
http://wipos.p.lodz.pl/zylla/ut/pesel.html

Pozdrawiam Adam.



NEO.pl - samoobslugowe serwery WWW, konta e-mail - 15 Lut 2002, 04:52

Dodatkowo z przedostatniej cyfry można wyciągnąć płeć osobnika, przydaje
się to bardzo do (ręcznej) weryfikacji poprawności formularza z danymi
osobowymi (jak ktoś wpisze, że jest Zenek a ma PESEL kobiety to ... ;-)



a jak wpisze "Kuba"? ;)


Adam Major - 15 Lut 2002, 09:03
Witaj!
a jak wpisze "Kuba"? ;)



? ;-)

Nie czaje ... ;-(

Pozdrawiam Adam



Kasa - 15 Lut 2002, 10:07
To wpisuj "Kuba", ciekawe jak to przejdzie przez is_numeric?


Wojciech Jukowski - 15 Lut 2002, 12:40
witam,

Dodatkowo z przedostatniej cyfry można wyciągnąć płeć osobnika, przydaje
się to bardzo do (ręcznej) weryfikacji poprawności formularza z danymi
osobowymi (jak ktoś wpisze, że jest Zenek a ma PESEL kobiety to ... ;-)



z ciekawosci:
 a gdy zenek przed operacja byl marysia?... ;


Adam Major - 15 Lut 2002, 15:08
Witaj!

z ciekawosci:
 a gdy zenek przed operacja byl marysia?... ;



po zmianie płci IMHO dostajesz (wyrabiasz sobie) now dokumenty
zawierające nowe imię i nazwisko, zdjęcie oraz numer PESEL ;-)

Pozdrawiam Adam



Michał Przech - 16 Lut 2002, 12:19

if (preg_match($strPattern $byc_moze_nip)) {
    echo "NIP";
} else {
    echo "Nie NIP";
}

luuudzie...co to jest ?

function checkNIP($n) {
//xxx-xxx-xx-xc
 if (strlen($n)!=13) return 0;
 $w=array(6,5,7,2,3,4,5,6,7);
 $wy=(int)$n[0]*$w[0]+(int)$n[1]*$w[1]+(int)$n[2]*$w[2];
$wy+=(int)$n[4]*$w[3]+(int)$n[5]*$w[4]+(int)$n[6]*$w[5];
$wy+=(int)$n[8]*$w[6]+(int)$n[9]*$w[7]+(int)$n[11]*$w[8];
 return ((int)$n[12]==$wy%11);

}



function checkRegon($r) {
//xxxxxxxxc
 if (strlen($n)!=9) return 0;
 $w=array(8,9,2,3,4,5,6,7);
 $wy=(int)$r[0]*$w[0]+(int)$r[1]*$w[1]+(int)$r[2]*$w[2];
 $wy+=(int)$r[3]*$w[3]+(int)$r[4]*$w[4]+(int)$r[5]*$w[5];
 $wy+=(int)$r[6]*$w[6]+(int)$r[7]*$w[7];
 return ((int)$r[8]==$wy%11);
}

podobnie pesel..ale sobie sam napisz :



[benY] - 17 Lut 2002, 08:22
oprocz tutaj zastosowanych algorytmow to jednak fajnie dodatkowo sprawdzic
sume kontrolna!


Wojciech Jukowski - 17 Lut 2002, 13:11
witam,

oprocz tutaj zastosowanych algorytmow to jednak fajnie dodatkowo sprawdzic
sume kontrolna!



 ?...


Adam Różewicki - 18 Lut 2002, 03:01

Witaj!

a jak wpisze "Kuba"? ;)

Nie czaje ... ;-(



Nie czytales w Bajtku dzialu "tylko dla przedszkolakow"? Tam byl taki
algorytm w basicu, ktory rozpoznawal plec po imieniu sprawdzajac ostatnia
litere. Bo wszystkie zenskie imiona koncza sie na "a". Wyjatkiem jest
wlasnie Kuba.

ADi



NEO.pl - samoobslugowe serwery WWW, konta e-mail - 18 Lut 2002, 03:10


if (preg_match($strPattern $byc_moze_nip)) {
   echo "NIP";
} else {
   echo "Nie NIP";
}

luuudzie...co to jest ?

function checkNIP($n) {
//xxx-xxx-xx-xc



nip moze byc tez w postaci xxx-xx-xx-xxx



[benY] - 18 Lut 2002, 04:36
wiec o co chodzi?


Zbyszek - 18 Lut 2002, 11:33
Witaj!

a jak wpisze "Kuba"? ;)

Nie czaje ... ;-(

Nie czytales w Bajtku dzialu "tylko dla przedszkolakow"? Tam byl taki
algorytm w basicu, ktory rozpoznawal plec po imieniu sprawdzajac ostatnia
litere. Bo wszystkie zenskie imiona koncza sie na "a". Wyjatkiem jest
wlasnie Kuba.

Dokłądnie to samo, tylko w PHP jest w ćwiczeniach Helionu.



Adam Major - 18 Lut 2002, 12:56
Witaj!

  Nie czytales w Bajtku dzialu "tylko dla przedszkolakow"?

Dzięki za wyjaśnienie. To było tak dawno, że już zapomniałem ;-(

  Bo wszystkie zenskie imiona koncza sie na "a".
      ^^^^^^^^^ tylko polskie bo np. Justine  ;-)

realizującą zamówienie w sklepie. Na stronie administracyjnej ma
wszystkie dane klienta oraz określoną płeć na podstawie numeru PESEL. I
wtedy może porównać imię z płcią. Oczywiście zakładam, że ta osoba ma w
główce ciut lepszy algorytm niż ten opisany niegdyś w "Bajtku" ;-)

pozdrawiam Adam.



Adam Gołębiowski - 18 Lut 2002, 14:12

Nie czytales w Bajtku dzialu "tylko dla przedszkolakow"? Tam byl taki
algorytm w basicu, ktory rozpoznawal plec po imieniu sprawdzajac ostatnia
litere. Bo wszystkie zenskie imiona koncza sie na "a". Wyjatkiem jest
wlasnie Kuba.



Pragnę zauważyć, że jest to zdrobnienie, i jako takie nie powinno być
uznawane. Idąc dalej - Maria - przecież nie jest to typowo żeńskie imię.


Adam Gołębiowski - 18 Lut 2002, 14:12

wiec o co chodzi?



To chyba do Ciebie to pytanie winno być skierowane. O co chodzi? Podane w
tym wątku sprawdzają sumę kontrolną, więc ... whazzup?


Adam Gołębiowski - 19 Lut 2002, 12:37

Kuba nie jest zdrobnieniem.



A przypadkiem nie od Jakuba?


Adam Gołębiowski - 19 Lut 2002, 13:19

A przypadkiem nie od Jakuba?
Jakub to Jakub, Kuba to Kuba.



Dziwne. Mam takie cuś jak bazę imion (z jakiegoś skryptu do wyświetlania
kto danego dnia ma imieniny), i nie ma w nim zmianki o Kubie. A o Jakubie
owszem. Tak samo taka hoga z uporem maniaka twierdzi, że żadnego Kuby to
ona nie zna, ale z paroma Jakubami to się zaprzyjaźniła.

Zatem ja wnioskuję, że Kuba to jednak zdrobnienie :)



NEO.pl - samoobslugowe serwery WWW, konta e-mail - 19 Lut 2002, 13:29

Zatem ja wnioskuję, że Kuba to jednak zdrobnienie :)



No to zostaje jeszcze Barnaba.


Zbyszek - 20 Lut 2002, 09:42

Zatem ja wnioskuję, że Kuba to jednak zdrobnienie :)

No to zostaje jeszcze Barnaba.



Kosma, Dyzma...



[benY] - 21 Lut 2002, 17:11
nie wiem...


Strona 1 z 11


Pokrewne tematy
sprawdzanie wystepowania przecinka w pliku txt
Jak sprawdzic poprawnosc wprowadzenia danych do formularza ?
sprawdzenie czy podany login jest w bazie
Jak sprawdzić czy e-mail został dostarczony
Jak sprawdzić, która kolumna jest zaznaczona?
sprawdzanie reverse DNS entry
sprawdzic wersje MTA - telnet
jak sprawdzic czy liczba jest parzysta?
sprawdzenie numeru telefonu
sprawdzanie dostepnosci odmeny
  • najladniejszy motor swiata
  • kosciol sw floriana
  • siemens simatic s5
  • biala chirurgia krakow
  • naoje dla pracownikow
  • Baza wiadomości z for internetowych ^^ Start