Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it L'avatar di alegia76
    Registrato dal
    Mar 2003
    Messaggi
    1,179
    Credevo di aver risolto, invece no

    function controllo_codfisc(id_elemento){
    if (document.getElementById(id_elemento).value == ''){
    document.getElementById('err_'+id_elemento).innerH TML = 'Campo vuoto ';
    } else {
    var codice_fiscale = Trim((document.getElementById(id_elemento)).value) ;
    var fcf=/^[A-Z0-9]$/;
    // alert (codice_fiscale);
    if( codice_fiscale.length != 16 ){
    document.getElementById('err_'+id_elemento).innerH TML = 'Attenzione! La lunghezza del campo non è valida! ';
    } else {
    if(!fcf.test(codice_fiscale)){
    document.getElementById('err_'+id_elemento).innerH TML = 'Attenzione! Inseriti caratteri non validi! ';
    } else {
    document.getElementById(id_elemento).value = codice_fiscale;
    document.getElementById('err_'+id_elemento).innerH TML = 'Valore Inserito '+ document.getElementById(id_elemento).value +' ';
    }
    }
    }
    }



    Faccio il primo controllo, e se è più corto di 16 lunghezze allora mi restituisce la stringa di errore giusta.
    Faccio il secondo e inserisco un carattere non valido (tipo $ % & / £ ) e mi restituisce la stringa giusta
    Se però scrivo tutto correttamente, non mi visualizza la stringa scritta in maniera giusta..
    Sei l'eventualità di un'anomalia che nonostante i miei più onesti sforzi non sono stato in grado di eliminare da quella che altrimenti sarebbe un'armonia di precisione matematica..

  2. #12
    Utente di HTML.it L'avatar di alegia76
    Registrato dal
    Mar 2003
    Messaggi
    1,179
    Originariamente inviato da willybit
    questa RE controlla che la stringa sia formata da un solo carattere e il carattere può essere solo una lettera maiuscola dell'alfabeto o un numero
    Ecco.. Grazie..

    E allora quale è la RE giusta?
    Sei l'eventualità di un'anomalia che nonostante i miei più onesti sforzi non sono stato in grado di eliminare da quella che altrimenti sarebbe un'armonia di precisione matematica..

  3. #13
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    codice:
    function controllo_codfisc(id_elemento){
      if (document.getElementById(id_elemento).value == ''){
        document.getElementById('err_'+id_elemento).innerHTML = 'Campo vuoto ';
      } else {
        var codice_fiscale = Trim((document.getElementById(id_elemento)).value);
        var fcf=/[^A-Z0-9]/g;
        // alert (codice_fiscale);
        if( codice_fiscale.length != 16 ){
        document.getElementById('err_'+id_elemento).innerHTML = 'Attenzione! La lunghezza del campo non è valida! ';
        } else {
          if(fcf.test(codice_fiscale)){
            document.getElementById('err_'+id_elemento).innerHTML = 'Attenzione! Inseriti caratteri non validi! ';
          } else {
            document.getElementById(id_elemento).value = codice_fiscale;
            document.getElementById('err_'+id_elemento).innerHTML = 'Valore Inserito '+ document.getElementById(id_elemento).value +'  ';
          }
        }
      }
    }
    però se devi fare un controllo sintattico per il codice fiscale ci sono script migliori
    tipo questo
    codice:
    function CheckCodiceFiscale(cfins){
       var cf = cfins.toUpperCase();
       var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
       if (!cfReg.test(cf))
          return false;
       var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
       var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
       var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
       var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
       var 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 false;
       return true;
    }

  4. #14
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da alegia76
    Ecco.. Grazie..

    E allora quale è la RE giusta?
    /^[0-9A-Z]+$/
    Il + vuol dire {1,} ovvero almeno un carattere

    Ma per un CF io userei:
    /^[A-Z]{6}\d{2}[A-Z][0-7]\d[A-Z]\d{3}[A-Z0-9]$/i
    che controlla tutti i parametri, compreso il numero totale di caratteri
    (poi occorre trasformare le minuscole in maiuscole, se vuoi dare la possibilita` di inserire dati case-insensitive
    str = str.toUpperCase()

    Se vuoi per il mese puoi usare:
    [ABCDEGHLMPST] pero` dovresti verificare se non ho messo errori.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #15
    Utente di HTML.it L'avatar di alegia76
    Registrato dal
    Mar 2003
    Messaggi
    1,179
    Grazie
    Sei l'eventualità di un'anomalia che nonostante i miei più onesti sforzi non sono stato in grado di eliminare da quella che altrimenti sarebbe un'armonia di precisione matematica..

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 © 2025 vBulletin Solutions, Inc. All rights reserved.