funzione incompleta calcolo codice fiscale

8 views
Skip to first unread message

ces

unread,
Dec 29, 2006, 9:37:56 AM12/29/06
to
ho trovato questa funzione che calcola il codice fiscale ma è monca, manca
la funzione CalcolaNascita
qualcuno la sta utilizzando e magari può postarla?

ciao a tutti e grazie

// JavaScript Document
var consonanti = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ";
var numeri = "0123456789";
var arrMese=Array(
Array("A","1"),
Array("A","01"),
Array("B","2"),
Array("B","02"),
Array("C","3"),
Array("C","03"),
Array("D","4"),
Array("D","04"),
Array("E","5"),
Array("E","05"),
Array("H","6"),
Array("H","06"),
Array("L","7"),
Array("L","07"),
Array("M","8"),
Array("M","08"),
Array("P","9"),
Array("P","09"),
Array("R","10"),
Array("S","11"),
Array("T","12"));
function
CalcolaCodiceFiscaleCompleto(Cognome,Nome,GiornoNascita,MeseNascita,AnnoNascita,Sesso,Luogo)
{
if (Cognome != "" && Nome != "" && Luogo != "")
{
rc = CalcolaCodiceFiscaleCognome(Cognome);
rn = CalcolaCodiceFiscaleNome(Nome)
rN = CalcolaNascita(GiornoNascita, MeseNascita, AnnoNascita, Sesso);
var cf = rc+rn+rN+Luogo;
cf +=CalcolaK(rc+rn+rN+Luogo);
alert(cf);
return cf;
}
}
function CalcolaCodiceFiscaleCognome(Cognome)
{
var code = "";
code = GetConsonanti(Cognome);
if (code.length >= 3)
code = code.substring(0, 3);
else
{
code += GetVocali(Cognome).substring(0, 3 - code.length)
if (code.length < 3)
for (i = code.length; i < 3; i++)
code += "X";
}
return code;
}
function CalcolaCodiceFiscaleNome(Nome)
{
var code = "";
cons = GetConsonanti(Nome);
if (cons.length > 3)
code = cons.substring(0, 1) + cons.substring(2, 3) +
cons.substring(3, 4);
else if (cons.length == 3)
code = cons;
else
{
code = cons + GetVocali(Nome).substring(0, 3 - cons.length);
if (code.length < 3)
for (i = code.length; i < 3; i++)
code += "X";
}
return code;
}
function CalcolaK(Stringa)
{
var somma = 0, k;
var arrPari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var arrDispari = new Array(
Array(0,1),
Array(1,0),
Array(2,5),
Array(3,7),
Array(4,9),
Array(5,13),
Array(6,15),
Array(7,17),
Array(8,19),
Array(9,21),
Array("A",1),
Array("B",0),
Array("C",5),
Array("D",7),
Array("E",9),
Array("F",13),
Array("G",15),
Array("H",17),
Array("I",19),
Array("J",21),
Array("K",2),
Array("L",4),
Array("M",18),
Array("N",20),
Array("O",11),
Array("P",3),
Array("Q",6),
Array("R",8),
Array("S",12),
Array("T",14),
Array("U",16),
Array("V",10),
Array("W",22),
Array("X",25),
Array("Y",24),
Array("Z",23)
);
for (i = 0; i < Stringa.length; i += 2)
{
for (j = 0; j < arrDispari.length; j++)
{
if (Stringa.substring(i, i + 1).toUpperCase() == arrDispari[j][0])
{
somma += parseInt(arrDispari[j][1],10);
break;
}
}
}
for (i = 1; i < Stringa.length; i += 2)
{
if (isNaN(Stringa.substring(i, i + 1)))
somma += parseInt(arrPari.indexOf(Stringa.substring(i, i +
1)),10);
else
somma += parseInt(Stringa.substring(i, i + 1),10);
}
k = somma % 26;
k = arrPari.charAt(k);
return k;
}
function GetConsonanti(Stringa)
{
var cns = "";
for (i = 0; i < Stringa.length; i++)
if (consonanti.indexOf(Stringa.substring(i, i + 1)) != -1)
cns += Stringa.substring(i, i + 1);
return cns.toUpperCase();
}
function GetVocali(Stringa)
{
var voc = "";
for (i = 0; i < Stringa.length; i++)
if (consonanti.indexOf(Stringa.substring(i, i + 1)) == -1 &&
Stringa.substring(i, i + 1) != " ")
voc += Stringa.substring(i, i + 1);
return voc.toUpperCase();
}

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


Marok

unread,
Dec 29, 2006, 11:06:40 AM12/29/06
to
> ho trovato questa funzione che calcola il codice fiscale ma è monca, manca

> la funzione CalcolaNascita
> qualcuno la sta utilizzando e magari può postarla?

Se ti può essere utile:
http://www.marok.org/Utility/codfisc.htm

Tieni conto che è un codice molto vecchio,
è fatto in quel modo per andare più velocemente.

Adesso che più nessuno usa 56k sarebbe più ragionevole semplificarlo...
ma non ho mai avuto voglia! :)

MaRoK

Max M.

unread,
Dec 29, 2006, 2:29:15 PM12/29/06
to
ces wrote:
> ho trovato questa funzione che calcola il codice fiscale ma è monca, manca
> la funzione CalcolaNascita
> qualcuno la sta utilizzando e magari può postarla?

http://www.google.com/codesearch?q=CalcolaNascita

M


Reply all
Reply to author
Forward
0 new messages