¿Cómo validar un correo electrónico usando PHP?

Este artículo contiene diferentes métodos para validar una dirección de correo electrónico en PHP. Utiliza expresiones regulares y una función de validación de correo electrónico incorporada. La string de entrada se toma del usuario y la compara con las expresiones regulares predefinidas y, si la expresión regular y la string de entrada coinciden, devuelve verdadero y continúa.

Método 1: validación de correo electrónico mediante expresión regular.

<?php
// PHP program to validate email
  
// Function to validate email using regular expression
function email_validation($str) {
    return (!preg_match(
"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^", $str))
        ? FALSE : TRUE;
}
  
// Function call
if(!email_validation("author@geeksforgeeks.com")) {
    echo "Invalid email address.";
}
else {
    echo "Valid email address.";
}
  
?>
Producción:

Valid email address.

Explicación: En el ejemplo anterior, pasar el correo electrónico a la función definida por el usuario email_validation( $email ) , que usa este ejemplo y coincide con la expresión regular usando la función predefinida preg_match() . Esta función predefinida hace coincidir toda la entrada con la expresión regular y devuelve True si se encuentra una coincidencia; de lo contrario, devuelve False.

Método 2: validación de correo electrónico mediante el método filter_var().

<?php
  
// Declare variable and initialize
// it to email
$email = "author@geeksforgeeks.com";
  
// Validate email
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo("$email is a valid email address");
} 
else {
    echo("$email is not a valid email address");
}
  
?>
Producción:

author@geeksforgeeks.com is a valid email address

Explicación: En el ejemplo anterior, pasar la dirección de correo electrónico de entrada a la función predefinida filter_var() , que toma dos parámetros como correo electrónico de entrada y el segundo es el tipo de filtro de correo electrónico. Esta función filtra el correo electrónico y devuelve verdadero o falso .

Método 3: validación de correo electrónico utilizando el filtro FILTER_SANITIZE_EMAIL.

<?php
  
// Declare variable and store it to email
$email = "author.gfg@GeeksforGeeks.com";
  
// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
  
// Validate Email
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo("$email is a valid email address");
} 
else {
    echo("$email is not a valid email address");
}
  
?> 
Producción:

author.gfg@GeeksforGeeks.com is a valid email address

Explicación: En el ejemplo anterior, use el filtro FILTER_SANITIZE_EMAIL para eliminar todos los caracteres no admitidos y luego use el filtro FILTER_VALIDATE_EMAIL para validar el correo electrónico.

Publicación traducida automáticamente

Artículo escrito por Jitender_1998 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *