codice:
<SCRIPT>
function codiceFISCALE(cfins)
{
var cf = cfins.toUpperCase();
var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
if (!cfReg.test(cf))
return false;
var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
var s = 0;
for( i = 1; i <= 13; i += 2 )
s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
for( i = 0; i <= 14; i += 2 )
s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
if ( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
return false;
return true;
}
function partitaIVA(sz_Codice)
{
var n_Val,n_Som1=0,n_Som2=0,lcv;
if (sz_Codice.length!=11 || isNaN(parseFloat(sz_Codice)) || parseFloat(sz_Codice)<parseFloat(0))
return false;
for (lcv=0;lcv<9;lcv+=2)
{
n_Val=parseInt(sz_Codice.charAt(lcv));
n_Som1+=n_Val;
n_Val=parseInt(sz_Codice.charAt(lcv+1));
n_Som1+=Math.floor(n_Val/5) + (n_Val<<1) % 10;
}
n_Som2 = 10 - (n_Som1 % 10);
n_Val=parseInt(sz_Codice.charAt(10));
if (n_Som2==n_Val)
return true;
return false;
}
function CheckForm()
{
var PIvaOk=partitaIVA(document.modulo.piva.value)
var CFok=codiceFISCALE(document.modulo.cfisc.value)
if (PIvaOk==false || CFok==false)
{
alert("Partita IVA o Codice Fiscale errati");
return false;
}
else
return true;
}
</SCRIPT>
<FORM NAME="modulo" onSubmit="return CheckForm()">
<INPUT TYPE='text' NAME='piva'>
<INPUT TYPE='text' NAME='cfisc'>
<INPUT TYPE='submit' VALUE=' - Invia - '>
</FORM>
cosi?