ci ho pensato...
ed effettivamente il codice di prima funziona con MOZ, ma non riesco a trovare quello che non va nell funzione
ecco la funzione:
codice:function ControllaCF(dove) { var validi, i, s, set1, set2, setpari, setdisp, cf; cf=document.getElementById('cfis').value; if( cf == "" ) return false; cf = cf.toUpperCase(); if( cf.length != 16 ){ alert("La lunghezza del codice fiscale non è\n" +"corretta: il codice fiscale dovrebbe essere lungo\n" +"esattamente 16 caratteri.\n"); return false; } validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for( i = 0; i < 16; i++ ){ if( validi.indexOf( cf.charAt(i) ) == -1 ){ alert( "Il codice fiscale contiene un carattere non valido `" + cf.charAt(i) + "'.\nI caratteri validi sono le lettere e le cifre.\n"); return false; } } 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) ){ alert("Il codice fiscale non è corretto:\n"+ "il codice di controllo non corrisponde.\n"); return false; } if (dove=="controllo") alert("Il Codice Fiscale immesso è valido"); }


Rispondi quotando