Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Generator numeru pesel JS-> PHP
Elber
post
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;
}
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 21:42