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

<?php $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

<?php $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;