Controllo del Codice Fiscale in Javascript
Questa funzione restituisce '' se il codice fiscale è corretto altrimenti restituisce un errore
function ControllaCF(cf) { var validi, i, s, set1, set2, setpari, setdisp; if (cf == '') return ''; 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" + "il codice di controllo non corrisponde.\n"; return ""; } |