![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 381 Pomógł: 12 Dołączył: 9.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
szukałem wczoraj dość długo generatora numerów pesel w PHP ... zamiast tego znalazłem w JS ... Tylko nie za bardzo wiem jak przerobić to na PHP. Wygenerowane liczby chcę zakodować w mcrypt i przesłać do innego skryptu, rozkodować i sprawdzić czy wygenerowane liczby są prawidłowe (IMG:style_emoticons/default/smile.gif) Algorytm numeru PESEL idealnie się do tego nadaje, jednak nie wiem jak wygenerować PESEL w PHP. Podaję kod w JS który znalazłem: Kod function getDigit()
{ return Math.floor(Math.random() * 10); } function calcPesel(date, sex) { var wagi = new Array (1, 3, 7, 9, 1, 3, 7, 9, 1, 3); var fullYear = date.getFullYear(); var y=fullYear % 100; var m=date.getMonth()+1; var d=date.getDate(); if (fullYear>=1800 && fullYear<=1899){ m += 80; } else if (fullYear>=2000 && fullYear<=2099){ m += 20; } else if (fullYear>=2100 && fullYear<=2199){ m += 40; } else if (fullYear>=2200 && fullYear<=2299){ m += 60; } var cyfry = new Array (Math.floor(y/10),y%10,Math.floor(m/10),m%10,Math.floor(d/10),d%10); for (var i = cyfry.length; i < wagi.length-1; i++) cyfry[i] = getDigit(); if (sex == 'M'){ cyfry[wagi.length-1] = getLetter('13579'); } else if (sex == 'F'){ cyfry[wagi.length-1] = getLetter('02468'); } else { cyfry[wagi.length-1] = getDigit(); } var cyfra_kontrolna = 0; for (var i=0; i<cyfry.length; i++) cyfra_kontrolna += wagi[i] * cyfry[i]; cyfra_kontrolna = (10 - (cyfra_kontrolna % 10)) % 10; var r = ''; for (var i=0; i<cyfry.length; i++) r += String(cyfry[i]); r += String(cyfra_kontrolna); return r; } |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 381 Pomógł: 12 Dołączył: 9.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Już tak próbowałem, ale jak odpalę to to cały czas myśli ... nic się nie wyświetla tylko cały czas się coś robi ...
Teraz wpadłem na pomysł że można trochę to obejść ... ale nie jest to zbyt optymalne rozwiązanie ...
Taki kod wyświetli mi poprawny kod pesel, jednak chyba lepszym i szybszym rozwiązaniem byłoby naprawić ten kod wyżej (IMG:style_emoticons/default/smile.gif) Ma ktoś jakiś pomysł jak to zrobić ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 14:09 |