El código de la expresión regular para correo electrónico en PHP es el siguiente:
/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/
Ejemplo
$mail = 'ejemplo@example.com'; //Dirección de correo electrónico
$pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/";
preg_match($pattern, $mail, $matches);
var_dump($matches); //Salida del resultado de coincidencia
El resultado de ejecutar el código anterior es:
array(4) {
[0]=>
string(17) "ejemplo@example.com"
[1]=>
string(0) ""
[2]=>
string(0) ""
[3]=>
string(4) ".com"
}
Usar el filtro FILTER_VALIDATE_EMAIL
Ejemplo
$email = 'ejemplo@example.com'; //Dirección de correo electrónico
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailMsg = "Formato de correo electrónico correcto";
} else {
$emailMsg = "Formato de correo electrónico no válido";
}
echo $emailMsg;