Ejemplo de Validación De Correo Electrónico Con PHP

Inicio » Administración » Validación de Correo Electrónico con PHP

Cuando queremos validar que en un campo determinado de nuestro formulario se ingrese una dirección de correo electrónico válida requerimos utilizar algún lenguaje de programación. En este artículo, aprenderemos cómo validar correos electrónicos mediante dos métodos diferentes en PHP.

Validar correo electrónico con expresiones regulares en PHP

Una forma de validar direcciones de correo electrónico en PHP es utilizando expresiones regulares. Estas nos permiten buscar patrones específicos en una cadena de texto y verificar si una dirección de correo electrónico cumple con un formato válido. A continuación, se muestra un ejemplo de cómo utilizar una expresión regular para validar una dirección de correo electrónico en PHP.

La expresión regular que utilizaremos es la siguiente:

$patron = "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/";

Ejemplo con regex y PHP

Te presentamos un ejemplo completo de validación de correo electrónico utilizando expresiones regulares en PHP, incluyendo HTML y comentarios explicativos:

<html>
<head>
<title>Validación de correo electrónico con expresiones regulares en PHP</title>
</head>
<body>
<h1>Validación de correo electrónico con expresiones regulares en PHP</h1>
<form method="post">
<label for="correo">Correo electrónico:</label>
<input type="text" name="correo" id="correo" required>
<input type="submit" name="submit" value="Validar">
</form>
<?php
if (isset($_POST['submit'])) {
// Función que valida el correo utilizando una expresión regular
function validarCorreo($correo) {
// Patrón de la expresión regular que define el formato válido de un correo electrónico
$patron = "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/";
// La función preg_match() devuelve 1 si el patrón coincide con el correo proporcionado, de lo contrario devuelve 0
return preg_match($patron, $correo);
}
$correo = $_POST['correo'];
if (validarCorreo($correo)) {
echo "<p>Correo válido</p>";
} else {
echo "<p>Correo inválido</p>";
}
}
?>
</body>
</html>

En este ejemplo, se crea un formulario HTML que permite al usuario ingresar su dirección de correo electrónico. Al enviar el formulario, el código PHP toma el valor ingresado y lo valida utilizando la función validarCorreo().

Esta función utiliza una expresión regular para verificar si el correo electrónico cumple con un formato válido. Si el correo electrónico es válido, se muestra un mensaje que indica que el correo es válido, de lo contrario, se muestra un mensaje que indica que el correo es inválido.

Validación de correo con funciones nativas de PHP

PHP también proporciona funciones nativas para validar direcciones de correo electrónico, como filter_var(). Esta función puede utilizarse con el filtro FILTER_VALIDATE_EMAIL, que verificará si una dirección de correo electrónico cumple con el formato válido según los estándares actuales. A continuación, se muestra un ejemplo de cómo utilizar filter_var() para validar una dirección de correo electrónico en PHP:

Ejemplo de validación de correo con filter_var()

A continuación un ejemplo completo de validación de correo electrónico utilizando la función filter_var() en PHP, incluyendo HTML y comentarios explicativos:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Validación de correo electrónico con filter_var() en PHP</title>
</head>
<body>
<h1>Validación de correo electrónico con filter_var() en PHP</h1>
<form method="post">
<label for="correo">Correo electrónico:</label>
<input type="text" name="correo" id="correo" required>
<input type="submit" name="submit" value="Validar">
</form>
<?php
if (isset($_POST['submit'])) {
// Función que valida el correo utilizando filter_var()
function validarCorreo($correo) {
// La función filter_var() devuelve el correo filtrado si es válido, de lo contrario devuelve false
return filter_var($correo, FILTER_VALIDATE_EMAIL);
}
$correo = $_POST['correo'];
if (validarCorreo($correo)) {
echo "<p>Correo válido</p>";
} else {
echo "<p>Correo inválido</p>";
}
}
?>
</body>
</html>

En este ejemplo, se crea un formulario HTML que permite al usuario ingresar su dirección de correo electrónico. Al enviar el formulario, el código PHP toma el valor ingresado y lo valida utilizando la función validarCorreo().

Esta función utiliza filter_var() con el filtro FILTER_VALIDATE_EMAIL para verificar si el correo electrónico cumple con un formato válido. Si el correo electrónico es válido, se muestra un mensaje que indica que el correo es válido, de lo contrario, se muestra un mensaje que indica que el correo es inválido.

Ventajas y Desventajas Expresiones Regulares VS Funciones nativas de PHP

A continuación una tabla explicativa con las ventajas y las desventajas de la validación de formularios utilizando expresiones regulares y funciones nativas:

 Expresiones regularesFunciones nativas de PHP
Ventajas

Flexibilidad: Las expresiones regulares permiten crear patrones de búsqueda y validación muy específicos y personalizados.

Compatibilidad: Funcionan en múltiples lenguajes de programación, no solo en PHP.

Eficaces en tareas complejas: Pueden realizar búsquedas y validaciones complejas en una sola línea de código.

Simplicidad: Las funciones nativas de PHP suelen ser más fáciles de entender y utilizar para tareas comunes.

Mantenimiento: Como son funciones nativas, suelen estar actualizadas y optimizadas por la comunidad de PHP.

Consistencia: El comportamiento de las funciones nativas es más predecible y estable que las expresiones regulares.

Desventajas

Curva de aprendizaje: Las expresiones regulares pueden ser difíciles de aprender y entender para los principiantes.

Legibilidad: El código que utiliza expresiones regulares puede ser difícil de leer y mantener.

Rendimiento: Las expresiones regulares pueden ser menos eficientes en comparación con las funciones nativas de PHP para tareas simples.

Menos flexible: Las funciones nativas de PHP pueden no ser suficientes para tareas de validación y búsqueda muy específicas o personalizadas.

Dependencia: Al ser específicas de PHP, no se pueden utilizar en otros lenguajes de programación.

Una forma de aligerar la carga del servidor es haciendo primeramente una validación con JavaScript:

¿Cómo citar? & Del Moral, M. (s.f.). Ejemplo de Validación De Correo Electrónico Con PHP.Ejemplo de. Recuperado el 26 de Septiembre de 2023 de https://www.ejemplode.com/58-administracion/5301-ejemplo_de_validacion_de_correo_electronico_con_php.html

Escrito por:
Mauricio del Moral Durán
Mauricio del Moral, fundador y creador de Ejemplo de, es un experto en enseñanza y un apasionado del ámbito educativo desde el año 2007. Ha dedicado una considerable parte de su vida profesional al estudio y al desarrollo de contenidos educativos en formatos digitales de alta calidad. Poseedor de una Licenciatura en Ciencias de la Comunicación, Mauricio es egresado de la prestigiosa Universidad Intercontinental.
Última modificación: 2023-04-15

Deja un comentario


Acepto la política de privacidad.