Le code de l'expression régulière d'e-mail en PHP est le suivant :
/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/
Exemple
$mail = 'example@example.com'; //Adresse e-mail
$pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/";
preg_match($pattern, $mail, $matches);
var_dump($matches); //Afficher les résultats de correspondance
Le code ci-dessus produit la sortie suivante :
array(4) {
[0]=>
string(17) "example@example.com"
[1]=>
string(0) ""
[2]=>
string(0) ""
[3]=>
string(4) ".com"
}
Utilisation du filtre FILTER_VALIDATE_EMAIL
Exemple
$email = 'example@example.com'; //Adresse e-mail
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailMsg = "Format d'e-mail correct";
} else {
$emailMsg = "Format d'e-mail invalide";
}
echo $emailMsg;