Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1

    Controllo sul Codice Fiscale (non generatore dello stesso).

    Questa è la funziona generalizzata:
    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;
     }
    }
     
    E questo il controllo specifico del campo:
    codice:
     
     if ((aForm.cod_fisc.value==0) && !isCodiceFiscale(aForm.cod_fisc))
     {
      alert("Codice Fiscale non valido");
      aForm.cod_fisc.focus();
      return false;
     }
    P.S. Moderatori, ho già provveduto a linkarlo nel 3d delle discussioni utli.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Eeeehhh..
    La indovino con cinque (righe):
    codice:
    <script language="Javascript">
    <!--
    function Trim(stringa){ //Levo eventuali spazi indesiderati
       reTrim=/\s+$|^\s+/g;
       return stringa.replace(reTrim,"");
    }
    function controlla(){  // Controllo correttezza codice fiscale
        var p=document.form1.text1;
        var re = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
        Codice=Trim(p.value.toUpperCase());
        alert(re.test(Codice));
    }
    //-->
    </script>
    Per controllare la correttezza del codice fiscale basta una regular expression
    xxx

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Alethesnake
    Per controllare la correttezza del codice fiscale basta una regular expression
    No, non basta.
    L'ultimo carattere del codice fiscale e` un codice di parita` che fa una somma pesata degli altri 15 caratteri.

    Il codice di maximum esegue tale controllo.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Originariamente inviato da Mich_
    Il codice di maximum esegue tale controllo.

    Ciao
    Michele
    Grazie Michè!!!
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Originariamente inviato da Mich_
    No, non basta.
    L'ultimo carattere del codice fiscale e` un codice di parita` che fa una somma pesata degli altri 15 caratteri.

    Il codice di maximum esegue tale controllo.

    Ciao
    Michele
    Non mi ero accorto che eseguisse anche un test di conformità sull'ultimo carattere
    Complimenti Max!
    xxx

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    devo dire che il controllo ha una sua certa utilita'.
    insomma non c'è il confronto con il nome+cognome+data+ecc
    dell'utente col suo codice fiscale :-|

  7. #7
    L'abbiamo scrito per un applicativo che stiamo svolgendo qui al lavoro, per conto dell'Università.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da maximum
    L'abbiamo scrito per un applicativo che stiamo svolgendo qui al lavoro, per conto dell'Università.
    complimenti per il lavoro... non era facile tradurlo dal VB
    codice:
    ' By:
    ' Domenico Statuto
    ' Night Eagle
    ' Marco Carnazzo
    ' Ettore Maronese (By -MES-)
    '
    ' 04.07.98 Modificato per la ricerca interattiva sul database By A. Fasano - Matera
      Dim temp        As String
        Dim Vocali      As String
        Dim Consonanti  As String
        Dim i           As Integer
        Dim AppoNum     As Long
        Dim TempNum     As Long
        Dim TxtCodFis   As String
    '
    ' Questo codice e' liberamente distribuibile/modificabile/utilizzabile
    ' Buon Lavoro.
    '
    ............... (omissis)..........................    
        'Controllo caratteri pari
        TempNum = 0
        i = 1
        Do
            ' I DISPARI
            AppoNum = InStr("B1A0KKPPLLC2QQD3RRE4VVOOSSF5TTG6UUH7MMI8NNJ9WWZZYYXX", Mid(TxtCodFis, i, 1))
            TempNum = TempNum + ((AppoNum - 1) And &H7FFE) / 2
            i = i + 1
            If i > 15 Then Exit Do
        
            ' I PARI
            AppoNum = InStr("A0B1C2D3E4F5G6H7I8J9KKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ", Mid(TxtCodFis, i, 1))
            TempNum = TempNum + ((AppoNum - 1) And &H7FFE) / 2
            i = i + 1
        Loop
        TempNum = TempNum Mod 26
        TxtCodFis = TxtCodFis & Mid$("ABCDEFGHIJKLMNOPQRSTUVWXYZ", TempNum + 1, 1)
        
        ' Ecco qui il codice bello finito
        CalcoloCodFis = TxtCodFis
    
    End Function
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    lo script sembra molto affidabile (se funzionasse) soprattuto per questa cosa del calcolo dell'ultimo carattere del codice fiscale che e` un codice di parita'.
    è un 3d un po' vecchiotto, però essendoci pervenuto dalla raccolta di script utili, mi sembra opportuno sottolineare che non funzia, posso garantirlo!

    :master: :master:
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  10. #10
    Utente di HTML.it L'avatar di allejo
    Registrato dal
    Jul 2001
    Messaggi
    747
    Sinceramente non funziona nemmeno a me.........
    Come mai?
    Allejo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.