In questo semplice articolo cercherò di riassumere le principali espressioni regolari cui si fa frequentemente ricorso nella validazione di un form.
L'elenco proposto, ovviamente, non ha alcuna pretesa di esaustività ma vuole essere un rapido referenziario cui fare ricorso nelle situazioni più comuni in cui è necessario effettuare la verifica dei dati inseriti in input dagli utenti.
Le espressioni regolari che vedremo sono state scritte per lavorare con la funzione eregi() (qualora abbiate la necessità di fare validazioni case sensitive le stringe qui sotto dovranno essere lievemente modificate).
Per prima cosa vediamo un banalissimo esempio di validazione. Nel caso concreto andiamo a validare l'indirizzo email inserito dall'utente:
if (eregi("^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]", $_POST['email']))
{
echo "Corretto";
}else{
echo "Errore";
}
Vediamo ora, in rapida sequenza, le regular expression più frequentemente utilizzate:
Validare un indirizzo e-mail
La validazione non garantisce che l'indirizzo email sia vero e funzionante... tuttavia è un ottimo modo per evitare gli errori più grossolani.
^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]Verificare l'username
^[a-z0-9]{6,12}$
Validare un nome a dominio^[a-z0-9\-\.]+\.(it|com|org|net|eu|mobi)$Validare una data
^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}
L'espressione regolare, tuttavia, non è certamente il modo migliore per verificare l'esattezza di una data (il sistema migliore consiste nell'utilizzare la funzione nativa checkdate()).
Validare un indirizzo IP
^([0-9]{1,3}\.){3}[0-9]{1,3}$
Validare un colore esadecimale
^#?([a-f]|[0-9]){3}(([a-f]|[0-9]){3})?$
Validare un codice fiscale^[a-z]{6}[0-9]{2}[a-z][0-9]{2}[a-z][0-9]{3}[a-z]$
Validare una partita IVA^[0-9]{11}$
Verificare che un file abbia una data estensione^.+\.zip$Verificare che il file sia un'immagine
^.+\.(jpeg|jpg|png|gif|bmp)$
| Corso Linux Guida completa al sistema open-source. A partire da 39 €. | |
| Corso MySQL Gestione del database open-source. A partire da 49 €. | |
| Corso PHP Corso completo per la creazione di siti Web dinamici. Sconto -25% sino al 15/02/2012. |