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,GiornoNa scita,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 abuse (AT) newsland (DOT) it