Questa è la funziona generalizzata:
E questo il controllo specifico del campo:codice://**********************************************************// // // // isCodiceFiscale(field)- return "OK","VUOTO" or "ERRATO" // // // // Funzione che controlla che il valore del campo del form // // HTML <field> sia un codice fiscale valido // // // //**********************************************************// function isCodiceFiscale(obj) { var nTempNum; var nAppoNum; var i; var szTempCodFisc; var szLastChar; var szValued; var szInValued; szCodFisc = obj.value; if (szCodFisc.length<16) return false if (szCodFisc == "") return false; else { szCodFisc =szCodFisc.toUpperCase(); szLastChar = szCodFisc.substr(szCodFisc.length - 1,1); szTempCodFisc =szCodFisc.substr(0,szCodFisc.length - 1); nTempNum = 0; i = 0; while (true) { szValued="B1A0KKPPLLC2QQD3RRE4VVOOSSF5TTG6UUH7MMI8NNJ9WWZZYYXX"; // I DISPARI szInValued=szTempCodFisc.substr(i,1); nAppoNum = szValued.search(szInValued); nTempNum = nTempNum + (nAppoNum & 0x7FFE) / 2; i = i + 1; if (i>15) break; szValued="A0B1C2D3E4F5G6H7I8J9KKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ"; // I PARI szInValued=szTempCodFisc.substr(i,1); nAppoNum = szValued.search(szInValued); nTempNum = nTempNum + (nAppoNum & 0x7FFE) / 2; i = i + 1; } nTempNum = nTempNum % 26; //mod szValued="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; szValued= szValued.substr(nTempNum, 1); if (szValued==szLastChar) return true; else return false; } }
P.S. Moderatori, ho già provveduto a linkarlo nel 3d delle discussioni utli.codice:if ((aForm.cod_fisc.value==0) && !isCodiceFiscale(aForm.cod_fisc)) { alert("Codice Fiscale non valido"); aForm.cod_fisc.focus(); return false; }![]()

Rispondi quotando

