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";
gennaio 20th, 2010 at 16:04
Giò, eregi() è deprecated. Usa preg_match().
gennaio 21st, 2010 at 19:50
Grazie