Logo JsDir.com [niente]
Bring Your Site To Life!!!
10 Settembre 2010 - 22:59:41 - 18 scripters on-line! - La tua posizione nel sito: Tutorials/Validare il Codice Fiscale con le Regular Expression/
BedInLecce
Tutorials
Le Regular Expression
per la validazione del Codice Fiscale
- Introduzione al Tutorial
- Controllo nel modo "classico"
- Regular Expression: Come scriverle ed uso del metodo replace()
- Regular Expression: Charset
- Regular Expression: abbreviazioni, vincoli ai charset e di posizione
- Cos'è in definitiva una RegExp e l'applicazione nel tutorial
Controllo nel modo "classico"

<HTML>
<HEAD>
   <TITLE>Controllo Codice Fiscale per carattere</TITLE>
<SCRIPT>
<!--
function controlla()
   {
   cod=document.modulo.codice.value.toLowerCase();
   check=true;
   if (cod.length!=16)
      check=false
      else
      {
      lettere=cod.substr(0,6)+cod.substr(8,1)+cod.substr(11,1)+cod.substr(15);
      numeri=cod.substr(6,2)+cod.substr(9,2)+cod.substr(12,3);
      for (i=0;i<10;i++)
         if (lettere.charCodeAt(i)<97 || lettere.charCodeAt(i)>122)
            check=false;
      for (i=0;i<8;i++)
         if (numeri.charCodeAt(i)<48 || numeri.charCodeAt(i)>57)
            check=false;
      }
   document.modulo.risultato.value=check;
   }
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#ffffff">
<FORM NAME="modulo">
Codice: <INPUT TYPE="text" NAME="codice" VALUE="PNCPLN75D24E506W" CLASS=""> <BR>
Risultato: <INPUT TYPE="text" NAME="risultato" VALUE="" CLASS=""> <BR>
<INPUT TYPE="button" VALUE=" Controlla " onClick="controlla()">
</FORM>
</BODY>
</HTML>

Nella variabile cod viene memorizzata la stringa letta dal campo di'inserimento, e viene settata a true una variabile che ci servirà per il controllo. Il dato letto viene convertito in lettere minuscole per comodità.
Il primo controllo è sulla lunghezza ovviamente, se la condizione è verificata (cioè se la lunghezza di cod è diversa da 16) la variabile di controllo cambia stato, e l'else, che dovrebbe controllare i caratteri non viene nemmeno eseguito.
Alla fine della funzione il valore del campo "risultato" nel form assume il valore di check che in caso di lunghezza errata sarà ovviamente false.

Se invece il controllo viene passato, la funzione continua memorizzando nelle due variabili "lettere" e "numeri" i caratteri che trova nelle posizioni della stringa in cui ci aspetteremmo di trovare le une o gli altri.
Subito dopo i due cicli controllano che il codice ASCII della stringa lettere sia compreso fra 97 (lettera "a") e 122 (lettera "z") e che il codice della stringa numeri sia compreso fra 48 (lo zero) e 57 (il nove).
Se il codice ASCII di una delle lettere o numeri è fuori dai limiti la solita variabile check cambia di stato in false a decretare l'inesattezza del dato inserito.

Circa 15 righe di codice che con le RegExp si riducono a due! :-)




Stampa questo tutorial





Per navigare correttamente il sito è necessario abilitare i cookies.
Enjoy Open Source!
ffx80wh2

    javascript
 
 
 
          Segnala
          Preferiti





ffx1203