Le espressioni regolari più utili in PHP
Maggio 9th, 2009 by Giovanni Caputo
Di seguito alcune espressioni regolari molto utili per chi programma in PHP. Naturalmente i controlli sono esclusivamente sintattici.
-
Validare indirizzo email
$email = "test@example.com"; if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) { echo "Your email is ok."; } else { echo "Wrong email address format"; }
Una soluzione migliore è usare filter_var.
if (filter_var('test+email@fexample.com', FILTER_VALIDATE_EMAIL)) { echo "Your email is ok."; } else { echo "Wrong email address format."; }
-
Validare usernames
Validare username composti da caratteri alfanumerici (a-z, A-Z, 0-9), underscores, con minimo 5 e massimo 20 caratteri.
$username = "user_name12"; if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) { echo "Your username is ok."; } else { echo "Wrong username format."; }
-
Validare numeri telefonici
In questo caso numeri telefonici americani, semplice da adattare per quelli di altre nazionalità.
$phone = "(021)423-2323"; if (preg_match('/\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x', $phone)) { echo "Your phone number is ok."; } else { echo "Wrong phone number."; }
-
Validare indirizzi IP
$IP = "198.168.1.78"; if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/',$IP)) { echo "Your IP address is ok."; } else { echo "Wrong IP address."; }
-
Validare codici postali
Anche in questo caso validati codici postali statunitensi.
$zipcode = "12345-5434"; if (preg_match("/^([0-9]{5})(-[0-9]{4})?$/i",$zipcode)) { echo "Your Zip code is ok."; } else { echo "Wrong Zip code."; }
-
Validare numeri di carta di credito
$cc = "378282246310005"; if (preg_match('/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/', $cc)) { echo "Your credit card number is ok."; } else { echo "Wrong credit card number."; }
-
Validare domini
$url = "http://komunitasweb.com/"; if (preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) { echo "Your url is ok."; } else { echo "Wrong url."; }
-
Estrarre dominio da una certa URL
echo $host; echo $text;
$url = "http://komunitasweb.com/index.html"; preg_match('@^(?:http://)?([^/]+)@i', $url, $matches); $host = $matches[1];
Fonte: komunitasweb
Post correlati
Questo post è stato postato sabato, Maggio 9th, 2009 at 10:57
nella categoria Programmazione, Siti Web, Tecnologia, tutorial. Tags:esempi, espressioni regolari, example, php, regular expression, tutorial.
Puoi seguire tutti i commenti di questo articolo attraverso RSS 2.0 feed.
Puoi lasciare un commento, o trackback dal nostro sito.
Giugno 17th, 2010 at 17:07
utilissimo complimenti.
Un suggerimento però lo vorrei dare ugualmente.
Magari mettere una guida con istruzioni dettagliate sui “simboli” e lettere che utilizzi per le espressioni e per la funzione preg_match.
Per il resto… ottimo lavoro