Код регулярного выражения для электронной почты на PHP выглядит следующим образом:

/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/

Пример

<?php $mail = 'example@example.com'; //Адрес электронной почты $pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/"; preg_match($pattern, $mail, $matches); var_dump($matches); //Вывод результатов совпадений ?>

Приведённый выше код выдаёт следующий вывод:

array(4) {
  [0]=>
  string(17) "example@example.com"
  [1]=>
  string(0) ""
  [2]=>
  string(0) ""
  [3]=>
  string(4) ".com"
}

Использование фильтра FILTER_VALIDATE_EMAIL

Пример

<?php $email = 'example@example.com'; //Адрес электронной почты if (filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailMsg = "Правильный формат электронной почты"; } else { $emailMsg = "Неверный формат электронной почты"; } echo $emailMsg;