PHP: validazione con espressioni regolari degli indirizzi email

PHP: validazione con espressioni regolari degli indirizzi email

Validare un'email con le espressioni regolari è utile solo ne caso in cui la funzione filter_validate_email() dei filtri PHP non sia disponibile. In tutti gli altri casi, tale funzione è da preferire. La domanda che ci si pone è: quale espressione regolare usare? E la risposta corretta è: quella che soddisfa le specifiche RFC relative agli indirizzi email validi, ossia l'RFC 822.

Per chi ha letto il libro PHP Cookbook questa affermazione risulterà chiara, poichè gli autori del libro hanno dedicato una specifica sezione alla validazione degli indirizzi email tramite espressioni regolari. Per chi non ha letto questo libro (cosa che vi consiglio caldamente perchè si tratta di una vera e propria miniera di soluzioni pronte all'uso) la questione si pone in questi termini: tutte le espressioni regolari che trovate sul web per la validazione delle email non funzioneranno in alcuni casi, perchè non rispettano i requisiti delle specifiche RFC.

Certo, funzionano per la maggior parte degli indirizzi, ma non per tutti. E se state sviluppando un sito con molti utenti, le possibilità di errori aumentano. Fortunatamente Cal Henderson ha sviluppato una classe PHP che soddisfa i requisiti delle specifiche e che quindi ci consente di operare in tranquillità.

Se siete interessati allo studio del suo codice, trovate i dettagli su GitHub.

Torna su