Controllo formato indirizzo email
- Gennaio 08, 2010
- by
- Donatantonio
Risulta spesso utile e necessario controllare il formato di un indirizzo email, soprattutto qualora questo sia acquisito attraverso un form di inserimento dati.
Lo script proposto si colloca lato server, essendo in PHP, ed effettua vari controlli come ad esempio presenza di spazi, presenza della @ e di caratteri speciali.
Lo script di seguito è ulteriormente commentato:
<?php function controllaMail($email) { // elimino spazi alle estremità della stringa $email = trim($email); // se la stringa è vuota sicuramente non è una mail if(!$email) { return false; } // controllo che ci sia una sola @ $num_at = count(explode(<a href="mailto:'@'">'@'</a>, $email))-1; if($num_at != 1){ return false; } // controllo la presenza di ulteriori caratteri if(strpos($email,';') || strpos($email,',') || strpos($email,' ')){ return false; } // la stringa rispetta il formato classico di una mail? if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) { return false; } return true; } ?>
Vediamo infine un esempio di utilizzo di tale funzione, dopo aver salvato lo script precedente in un file controllaMail.php :
<?php require_once('controllaMail.php'); $indirizzo = $_POST['indirizzo_da_form']; if(controlloMail($indirizzo)) { // L'indirizzo è corretto, posso procedere.... }else{ // L'indirizzo non è corretto... torno alla form... header('Location:form.php'); } ?>