Ovviamente la mia non era una critica al tuo modo di esprimerti, ho semplicemente preferito fare chiarezza altrimenti facciamo fatica a capirci. Fai una prova cosi:
codice:
function ControllaCF(cf)
{
var validi, i, s, set1, set2, setpari, setdisp;
if( cf == '' ) return "Errore: compilare il campo CODICE FISCALE";
cf = cf.toUpperCase();
if( cf.length != 16 )
return "La lunghezza del codice fiscale non è\n"
+"corretta: il codice fiscale dovrebbe essere lungo\n"
+"esattamente 16 caratteri.\n";
validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for( i = 0; i < 16; i++ ){
if( validi.indexOf( cf.charAt(i) ) == -1 )
return "Il codice fiscale contiene un carattere non valido `" +
cf.charAt(i) +
"'.\nI caratteri validi sono le lettere e le cifre.\n";
}
set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
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 "Il codice fiscale non è corretto:\n";
return "OK";
}
// script che verifica che tutti i campi form siano popolati
function controllo(){
with(document.InsUtenteZS) {
if(realzs.value=="") {
alert("Errore: compilare il campo USERNAME");
realzs.focus();
return false;
}
if(PWUtente.value=="") {
alert("Errore: compilare il campo PASSWORD");
PWUtente.focus();
return false;
}
if(nome.value=="") {
alert("Errore: compilare il campo NOME");
nome.focus();
return false;
}
if(cognome.value=="") {
alert("Errore: compilare il campo COGNOME");
cognome.focus();
return false;
}
if(luogo.value=="") {
alert("Errore: compilare il campo LUOGO DI NASCITA");
luogo.focus();
return false;
}
returnCode = ControllaCF(mail.value);
if(returnCode != "OK"){
alert(returnCode);
mail.focus();
return false;
}
}
alert("Controllo effettuato con successo. Il modulo sarà inviato.");
return true;
}
Per effettuare i controlli sul form ora devi eseguire solo la funzione "controllo"