Cautand astazi pe Web dupa un generator de CNP-uri, dar realizat in JavaScript si negasind nimic, am decis sa realizez eu unul. In continuare o sa atasez codul comentat:
<!DOCTYPE html> <html> <title>Generator de CNP-uri in JavaScript</title> <meta name="author" content="Silviu-S.com"> <body> <p id="demo">Apasa butonul pentru a genera CNP-uri</p> <button onclick="genereaza()">Genereaza</button> <ul id="lista"></ul> <script> function genereaza() { var sex = Math.floor(Math.random() * (8 - 1 + 1)) + 1; var an = Math.floor(Math.random() * (99 - 14 + 1)) + 14; var luna = Math.floor(Math.random() * (12 - 1 + 1)) + 1; var ziua = Math.floor(Math.random() * (28 - 1 + 1)) + 1; var judet = Math.floor(Math.random() * (52 - 1 + 1)) + 1; var nnn = Math.floor(Math.random() * (999 - 1 + 1)) + 1; if(luna<10) luna = "0" + luna; if(ziua<10) ziua = "0" + ziua; if(judet<10) judet = "0" + judet; //adaugare un 0 in fata daca numarul este mai mic decat 10 if(nnn<10) nnn = "00" + nnn; if(nnn<100 && nnn>10) nnn = "0" + nnn; var cnp_i = sex+""+an+""+luna+""+ziua+""+judet+""+nnn; //concatenarea datelor var cnp_f = cnp_i.replace(/ /g, ''); //eliminarea spatiilor //calcularea cifrei de control var cnp = cnp_i.split(''); var cifra = ["2", "7", "9", "1","4","6","3","5","8","2","7","9"]; suma = 0; for (i = 0; i < 12; i++) { if(isNaN(cnp[i])==false) //verificarea daca cnp-ul generat pana acum este format doar din numere suma += (cifra[i] * cnp[i]); //calcularea sumei de control } var rest = suma % 11; if(rest==10) var cifra_control = 1; else var cifra_control = rest; var cnp_final=cnp_f.concat(cifra_control); //concatenarea cifrei de control la restul cnp-ului var node=document.createElement("LI"); //crearea unui element "li" var textnode=document.createTextNode(cnp_final); //crearea unui nod, in vederea adaugarii informatiilor node.appendChild(textnode); document.getElementById("lista").appendChild(node); } </script> <footer> <p>Script realizat de: <a href="http://silviustroe.com">Silviu-S.com</a</p> </footer> </body> </html>
Daca folositi acest generator pe site-ul dvs, va rog sa lasati footer-ul intact, multumesc! 😀
Puteti testa scriptul aici.
din pacate nu functioneaza cum trebuie….genereaza cnp de genul 7581005154601
4170321120064
2410922393361
4890302173819 ceea ce ii cea mai mare aberatie….cnp poate incepe cu 1 sau 2….nici decum cu 4 sau 7 :))
Conform Wikipedia
Prima cifră a C.N.P.-ului este: (sex bărbătesc / sex femeiesc)
1 / 2 – născuÈ›i între 1 ianuarie 1900 È™i 31 decembrie 1999
3 / 4 – născuÈ›i între 1 ianuarie 1800 È™i 31 decembrie 1899
5 / 6 – născuÈ›i între 1 ianuarie 2000 È™i 31 decembrie 2099
7 / 8 – pentru persoanele străine rezidente în România.
ÃŽn plus 9 – pentru persoanele străine.
Data viitoare cand aduci o afirmatie, te rog sa aduci si argumentele necesare acesteia.
Salut Silviu
Te rog, poti sa-mi generezi si mie la gramada, adica multe multe gen cel putin 100 daca nu chiar 1000, doar cu un singur clic, pentru Pahova, 29, imi trebuie pentru exercitiu de tastare, iti pot spune mai multe in privat daca este nevoie
Multumesc!
doar cu 1 si 2 adica 1 / 2 – născuți între 1 ianuarie 1900 și 11 decembrie 1998 mai exact adica nu mai putin de 18 ani impliniti pina pe 11 dec. inclusiv
Salut. Din păcate nu te pot ajuta. Poți dezvolta singur codul sursă să facă ceea ce dorești tu.