Код регулярного выражения для электронной почты на PHP выглядит следующим образом:
/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/
Пример
$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
Пример
$email = 'example@example.com'; //Адрес электронной почты
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailMsg = "Правильный формат электронной почты";
} else {
$emailMsg = "Неверный формат электронной почты";
}
echo $emailMsg;