Validar un campo de Correo Electrónico (email)

Para validar una dirección de correo vamos a usar una expresión regular con la función preg_match , esta función nos devolverá un numero mayor que 0 si es correcto o 0 si no coincide el texto con la expresión regular, el código es:

if (!preg_match('{^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$}',$_POST['email']))
    {
        echo "error, no es un correo valido";
    }

La explicación de ese código seria: «si NO (!) devuelve un valor (no coincidió)» quitandole el ! seria:

if (preg_match('{^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$}',$_POST['email']))
    {
        echo "Correo Valido";
    }

En PHP existe una función que permite validar si un campo de correo electrónico está o no bien escrito, por alguna razón (en mi caso no me funciona, la función es filter-var. si alquien la puede hacer trabajar que me indique como es por favor

Aqui otra expresión regular:

^[a-z0-9.!\#$%&\’*+-/=?^_`{|}~]+@([0-9.]+|([^\s\'»<>@,;]+\.+[a-z]{2,6}))$

Deja una respuesta

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