Mi è capitato recentemente di sviluppare una applicazione di e-commerce per un cliente che, viste precedenti brutte esperienze con alcuni sistemi di commercio elettronico “preconfezionati”, mi chiedeva (giustamente) di verificare con cura i vari dati inseriti dall’utente in fase di iscrizione, prestando particolare attenzione al codice fiscale.
Ovviamente una applicazione Web non può verificare se quel dato codice fiscale sia reale o meno (salvo poter interagire con una qualche API dell’Agenzia delle Entrate), tuttavia è certamente possibile prevedere una serie di controlli tali da escludere a priori dei dati palesemente fasulli. Per fare questo possiamo ricorrere a diverse strategie di verifica ma, nel caso di specie, si è ritenuto opportuno limitarsi ad una semplice analisi circa la correttezza della formattazione (e quindi della ipotetica validità) del dato inserito dall’utente.
Vediamo di seguito un codice Javascript per implementare, appunto, un controllo lato client circa la corretta formattazione del codice fiscale inserito dall’utente nell’apposito campo di input:
<script language="Javascript">
function controllaCF()
{
// Definisco un pattern per il confronto
var pattern = /^[a-zA-Z]{6}[0-9]{2}[a-zA-Z][0-9]{2}[a-zA-Z][0-9]{3}[a-zA-Z]$/;
// creo una variabile per richiamare con facilità il nostro campo di input
var CodiceFiscale = document.getElementById("cf");
// utilizzo il metodo search per verificare che il valore inserito nel campo
// di input rispetti la stringa di verifica (pattern)
if (CodiceFiscale.value.search(pattern) == -1)
{
// In caso di errore stampo un avviso e pulisco il campo...
alert("Il valore inserito non è un codice fiscale!");
CodiceFiscale.value = "";
CodiceFiscale.focus();
}else{
// ...in caso contrario stampo un avviso di successo!
alert("Il codice fiscale è corretto!");
}
}
</script>
<input type="text" name="cf" id="cf" /><br/>
<input type="button" OnClick="controllaCF()" value="Controlla" />
Ovviamente lo script proposto, preso così com’è, non è di particolare utilità, ma integrando tale controllo all’interno dei vostri moduli di iscrizione (facendo le necessarie modifiche, ovviamente) potrete apprezzare immediatamente la bontà del codice presentato in esempio. Un modo semplicissimo di utilizzare questo script potrebbe essere quello di prevedere il submit() del vostro form solo in caso di esito positivo del controllo, oppure eseguire un redirezionamento verso un ipotetico step successivo.