Inicio » JavaScript » Validación de formulario email o correo con javascript

Ejemplo de Validación de formulario email o correo con javascript

Muchas veces se nos presenta la necesidad de validar que en un campo determinado de nuestro formulario se ingrese una dirección de email o correo electrónico correcta. Para ello tenemos que validar que el formato sea correcto, es decir, que incluya una @ y un dominio. Para eso hay muchas funciones y la mayoría hace uso de la función indexOF() que puede ser no fiable en esta aprobación.

Existe en javascript (como en otros lenguajes) el uso de expresiones regulares que nos ayudará a validar un formulario el correcto formato de una dirección de correo electrónico, el ejemplo de validación de email se muestra a continuación:
Código:

function valEmail(valor){
    re=/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/
    if(!re.exec(valor))    {
        return false;
    }else{
        return true;
    }
}


El resultado de esta función es booleano, es decir, nos dice si es verdadero o falso el formato que hemos ingresado, para poder usar esta función debe estar dentro de “<head>” para después invocarla desde cualquier punto y de cualquier forma, por ejemplo:
Código:

<html>
<head>
<title>Ejemplo de función para validar dirección de email en javascript</title>
<script language="JavaScript">
function valEmail(valor){    // Cortesía de http://www.ejemplode.com
    re=/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/
    if(!re.exec(valor))    {
        return false;
    }else{
        return true;
    }
}

</script>
<body>
<form action=”ejemplode.com”>
Email:<input type=”text” name=”email”>
<input type=button onClick=”if(!valEmail(this)){alert(‘la dirección de correo no es correcta’);}”>
</form>
</body>
</html>

¡Ayúdanos a ayudarte! Por favor comparte este artículo.

  
Por: Aziel

Búsqueda:

Búsqueda personalizada

Comentarios:

  1. hola necesito hacer un formulario de un sólo campo que valide un correo electrónico y no se cómo hacerlo, gracias.
    Por mari 05.04.12 a las 18:44:25
    1. me gustaría que alguien me mostrara un ejemplo de validación de correo (expresión regular) pero de la siguiente forma:

      jonlm@uttt.com.mx

      todo lo que esta después del @ siempre tiene que ir.
      Por jonatha 01.27.12 a las 10:15:40
      1. Os olvidais de que hay dominios que acaban con cuatro letras, como .info y demás.

        A parte sería bueno validar que lo que hay detrás de la @ sea un dominio que exista para que no valide cosas como:

        usuario@falsodominio.com

        Por un lado hay que validar que los caracteres parezcan un eMail, por otro que sólo haya una única @ y por otro que lo que está tras esa única @ sea un dominio válido (ni idea de como hacer eso en Javascript, con php hay muchos tutoriales, pero en javascript no veo nada al respecto).

        Y para finalizar estaría bueno poder saber si ese usuario es válido en ese dominio, es decir si la dirección de eMail existe.

        Otro tema sería si dicha dirección de eMail es accedida por el usuario o no... para por ejemplo evitar enviar SPAM, para eso lo único que se me ocurre es enviar un eMail solicitando la confirmación de que es válido, mediante la inclusión de una URL única en la que al hacer clic el usuario demuestre que tiene acceso a ese eMail.

        Todo es muy complejo y desde Javascript no veo modo de hacerlo todo, por ejemplo para el caso de que tecleen usuario@google.com ¿cómo se haría en Javascript lo siguiente?:
        -Comprobar que google.com es un dominio existente
        -Comprobar que usuario es cuenta dentro de google.com

        Ni idea, si alguien sabe que lo ponga.

        Lo que si he visto es alguna web que si lo hace, pero por desgracia cuando lo vi fue hace tiempo y no tenía la inquietud de saber cómo, no anoté cual era, lástima, y en el historial tampoco la localizo.
        Lo que si que recuerdo era que te decían donde estaba el servidor de eMail que gestionaba la cuenta con la posible ubicación geográfica (no siempre acertaba) y algunos datos de quién registró la cuenta de eMail.
        Obviamente no probé si funcionaba con todas las posibles direcciones de eMail, pero si con algunas y acertaba bastante, así como un 95% de las veces.
        Por z666zz666z 11.17.11 a las 2:38:28
        1. Hola buenas tardes. Mi pregunta es si alguno de ustedes podría explicarme cómo funciona este método de validación de correo. A qué se refiere cuando escriben ^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*[.]([a-z]{2,3})$ para poder modificar este patrón y ocuparlo en una validación X,Y,Z
          Por Jaime 08.30.11 a las 17:50:18
          1. bueno
            Por Oswaldo 07.26.11 a las 8:19:35
            1. Si muy bueno el aporte, aunque creo que el patrón correcto debería ser: ^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*[.]([a-z]{2,3})$
              Para que no de por valido este correo por ejemplo: jaom963@hotmail
              Por Jose Ortega 07.22.11 a las 14:43:18
              1. prueba del correo
                Por johann camacho 04.17.11 a las 16:01:43
                1. Excelente aporte, saludos desde Chile.
                  Por Roberto 04.02.11 a las 9:07:44
                  1. por favor necesito que me ayuden
                    Por jean jose 03.18.11 a las 7:07:16
                    1. esta bueno tu codigo. gracias
                      Por jai 02.13.11 a las 20:46:29
                      1. No cerraste el Head
                        Y si es .info ? osea tiene mas de 3 letras

                        Ya hice las modificaciones pero sigue sin funcionarme :(
                        Por SCorreia 01.30.11 a las 12:57:12
                        1. Buen porte pero me gustaria una validacion con servidores mas utilizados hotmail,gmail,yahoo
                          Por Juan 01.26.11 a las 14:54:17
                          1. salu2 xD
                            Por elisa 12.15.10 a las 14:29:39
                            1. ">p0nrn0
                              Por asdasd 11.21.10 a las 12:28:36
                              1. muy bueno
                                Por sieg 11.17.10 a las 13:02:08
                                1. muy bueno, muy bueno.

                                  Procesando en este mismo instante (osea que lo usaré)
                                  Por Luis Alberto 10.20.10 a las 11:45:12
                                  1. asdasd
                                    Por victor 09.30.10 a las 17:24:44
                                    1. hola
                                      Por jesus 09.07.10 a las 17:05:53
                                      1. verificacion
                                        Por maritza 08.04.10 a las 12:56:20
                                        1. saludos
                                          Por erick 06.23.10 a las 18:44:50
                                          1. chido xD
                                            Por juan 04.10.10 a las 20:20:44
                                            1. Alex, tendrías que hacer una función para que le ponga una \ antes de cada caracter especial, sin embargo, los emails no permiten caracteres especiales. Saludos
                                              Por Morris 02.10.10 a las 23:55:07
                                              1. pedi por favor un ejemplo como valido el nombre en java scrpt ya que cuando pongo un nombre con apostofe o cualquier otro caracter especial la cadena se distorciona. quiero ingresar Rox's y cuando ingreso ese nombre se distorciona mi formulario, necesariamente el nombre lo tengo que ingresar con ese apostofe, como hago o donde es que tengo que modificar
                                                Por alex 02.10.10 a las 17:15:23
                                                1. excelente
                                                  Por maria 01.13.10 a las 18:23:01
                                                  1. Excelente código. Me ha servido de mucho.
                                                    Gracias por compartirlo =)
                                                    Por Juan Medina 11.04.09 a las 12:38:32
                                                    1. gracias bueno el ejemplo
                                                      Por iquise 09.17.09 a las 17:17:32
                                                      1. saludos desde chile
                                                        Por Andres 07.06.09 a las 15:07:51
                                                        1. hello everyone
                                                          Por Cefiroth 04.07.09 a las 9:50:40
                                                          1. hola mario
                                                            Por mario 10.12.08 a las 21:25:59
                                                            1. prueba
                                                              Por asdasd 09.09.08 a las 13:11:47

                                                            Deja un comentario

Tweet