Validare campi di input con php e le espressioni regolari

Molto spesso ci si trova a dover lavorare su campi di input e controllarne l’esattezza. In questo articolo vedremo come validare, tramite le espressioni regolari, tre tipi di dato che spesso si trovano nei form delle pagine html, ovvero l’email, il codice fiscale e la partita IVA. Il controllo che viene effettuato non controlla che essi siano corrispondenti a verità, ad esempio, non verifica che l’email esista, ma solo che è scritta nel formato corretto.

Per prima cosa impostiamo l’espressione per il controllo sotto forma di funzione:

 function controlla($stringa)  {
  $pattern="...."; //vedremo tra poco cosa inserire
  if(preg_match($pattern, trim($stringa)))
    return true;
  else
    return false;
}

Come si può notare la funzione è di tipo booleano, restituisce true se la stringa è conforme a un modello predefinito (pattern) altrimenti restituisce false. Quello che inseriremo nella variabile $pattern dipenderà dal tipo di controllo che vogliamo effettuare. Per effettuare il controllo sull’indirizzo email la variabile dovrà essere del tipo:

$pattern="^([a-z0-9_\.-])+@(([a-z0-9_-])+\\.)+[a-z]{2,6}$";

per il codice fiscale il pattern sarà:

$pattern="^[a-zA-Z]{6}[0-9]{2}[a-zA-Z][0-9]{2}[a-zA-Z][0-9]{3}[a-zA-Z]$";

mentre, infine, per validare una partita IVA il pattern sarà:

$pattern="^[0-9]{11}$";

Per effettuare il controllo basterà una semplice condizione:

if(controlla($dato)){
echo "email/cf/piva corretti";
else
echo "Ricontrolla i dati";

This entry was posted on venerdì, gennaio 1st, 2010 at 21:19 and is filed under PHP. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 Responses to “Validare campi di input con php e le espressioni regolari”

  1. Nazareno Says:

    Giò, eregi() è deprecated. Usa preg_match().

  2. ilos37 Says:

    Grazie ;-)

Leave a Reply

You must be logged in to post a comment.