Logo JsDir.com [niente]
Bring Your Site To Life!!!
9 Maggio 2008 - 11:24:44 PM - 26 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

Sull'argomento "Validazione Form" sono presenti altre risorse nel sito, sia sulla validazioe in generale che per specifiche necessità-
Per la validazione consultare lo StaffScripts "From Validator" che mostrerà una maniera molto semplice e veloce per validare un form ed informare l'utente di quali sono i campi che deve controllare.
Tra le faq è sufficiente fare una ricerca con la parola "valid", mentre fra i tutorial segnalo quello per validare un indirizzo e-mail con una RegExp.

Introduzione

Una domanda fatta nel NewsGroup it.comp.lang.javascript, mi da lo spunto per un tutorial introduttivo sulle Regular Expression.
Le Espressioni Regolari (d'ora in poi "RegExp") sono una cosa di cui tutti facciamo tranquillamente a meno prima di sapere che esistono, limitandoci ai soliti metodi di estrazione e controllo di substrings dalle stringhe che vogliamo controllare, ma una volta scoperte viene spontaneo chiedersi "com'è stato possibile farne a meno finora?". Questo messaggio apparso qualche giorno fa nel NG ne rivela la fondamentale importanza:

Newsgroups: it.comp.lang.javascript
Date: Thu, 7 Feb 2002 12:57:24 +0100
Subject: controllare il codice fiscale con regExp
From: "puma" <NOSPAMrupsd@tin.it>
ciao a tutti,
qualcuno mi aiuta a trovare una soluzione elegante per controllare l'esatta
sequenza (e non validitā formale) di numeri e lettere all'interno di un
codice fiscale?
Io avevo pensato di usare le regexp ma non sono molto pratico...
grazie


L'intuizione di usare le RegExp è in effetti decisiva.
Per controllare "l'esatta sequenza di numeri e lettere" la prima cosa che viene in mente di fare (dopo il controllo di lunghezza) è suddividere la stringa del Codice Fiscale in 7 sottostringhe e poi darci dentro di isNaN() per le stringhe numeriche e di controllo carattere per carattere per le sottostringhe alfabetiche.

Un codice fiscale ha infatti questa struttura tipica:

PNCPLN 75 D 24 E 506 W
6 char 2 num 1 char 2 num 1 char 3 num 1 char

e per controllarlo in modo "classico" ho un po' affinato il metodo delle sottostringhe creando due sole stringhe: una contenente i caratteri in cui dovrebbero trovarsi lettere, ed una quelli in cui dovrebbero esserci dei numeri, poi le ho controllate un carattere alla volta.
Un bel papocchio di codice che potete vedere nella pagina successiva.

Le RegExp consentono di fare il tutto in modo moltopiù elegante.
Questo è lo script che usiamo nel tutorial:

<HTML>
<HEAD>
   <TITLE>CodiceFiscaleRexExp</TITLE>
<SCRIPT>
<!--
function Trim(stringa)
   {
   reTrim=/\s+$|^\s+/g;
   return stringa.replace(reTrim,"");
   }

function controlla()
   {
   var re = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
   Codice=Trim(document.modulo.codfisc.value.toUpperCase());
   alert(re.test(Codice));
   }
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#ffffff">
<FORM NAME="modulo">
<INPUT TYPE="text" NAME="codfisc" VALUE="pncpln75d24e506w"> <BR>
<INPUT TYPE="button" VALUE="Clicca" onClick="controlla()">
</FORM>
</BODY>
</HTML>

La funzione Trim() la trovate nelle FAQ, serve a togliere eventuali spazi che l'utente avesse inserito erroneamente prima o dopo la stringa.
Quello che ci interessa ovviamente è la riga in grassetto rosso.

Nella prossima pagina introdurrò alcune cose basilari delle RegExp che ho usato nello script.
Di fatto un'introduzione alle Regular Expression stesse.
12/11/2002- Nelle FAQ sono da oggi disponibili due contributi di Effe8 (dal newsgroup it.comp.lang.javascript) per il controllo del Codice Fiscale e della Partita IVA
Gli script proposti sono basati sugli algoritmi del Ministero delle Finanze ed effettuano anche il controllo di validità (sia della P.IVA che del Cod.Fisc.) usando gli appositi caratteri di controllo.




Stampa questo tutorial





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

    javascript
 
 
 
          Segnala
          Preferiti





thb1202