Foros del Web » Programando para Internet » Javascript »

email html5 para validar

Estas en el tema de email html5 para validar en el foro de Javascript en Foros del Web. Uso html5 con el tipo de campo email para validar un formulario con su campo email pero resulta que si el usuario al escribir su ...
  #1 (permalink)  
Antiguo 21/06/2016, 03:50
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
email html5 para validar

Uso html5 con el tipo de campo email para validar un formulario con su campo email pero resulta que si el usuario al escribir su email pone un espacio en blanco al final o principio se pone el campo en rojo como que no es valido como podria solucionar esto.
Código Javascript:
Ver original
  1. <input name="email" id="email" type="email" placeholder="inserta email">

es posible tambien crear un onblur con una funcion para validar el campo en caso de que no acepte el navegador el tipo email?

Saludos
  #2 (permalink)  
Antiguo 21/06/2016, 05:43
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: email html5 para validar

Usalo asi:


Código HTML:
Ver original
  1. <input name="email" id="email" type="email" pattern="^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" placeholder="inserta email">
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 21/06/2016, 23:13
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: email html5 para validar

El <input> de tipo email, evalúa internamente el valor ingresado, comparándolo con una expresión regular que se menciona en la documentación existente. Por tal motivo, lo que podrías hacer es utilizar un <input> de tipo text en el cual asignarías una determinada expresión regular al atributo pattern que permita añadir espacios al inicio y final de la cadena.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 23/06/2016, 03:20
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: email html5 para validar

Hola gracias a los dos por contestar, entonces no podria hacer las dos cosas a la vez validar con html5 y tambien con una funcion javascript las dos con la misma expresion por si no acepta el tipo email que valide con una funcion, de todas formas estoy probando la expresion de petit89 y no me funciona, como deberia hacer para permitir uno o varios espacios al principio o al final?
saludos

Última edición por roboty; 23/06/2016 a las 03:50
  #5 (permalink)  
Antiguo 23/06/2016, 12:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: email html5 para validar

La expresión regular que te proporcionaron, es la misma que aparece en la documentación existente. Lo único que tienes que hacer es añadir la expresión que representa a un espacio en blanco: \s, y añadirle a la derecha y entre llaves el número de veces que puede aparecer o bien añadir un signo + para especificar que puede haber de uno a más espacios en blanco; aunque, la verdad, no tiene sentido permitir eso.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 23/06/2016, 13:12
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: email html5 para validar

Mira no soy quien para responder, pero a mi se me ocurre lo siguiente

Código Javascript:
Ver original
  1. function verifMail(mail){
  2.         var spl = mail.split("@");
  3.             if(mail.length == "" || spl.length != 2 || spl[0] == "" || spl[1] == "" || !spl[0].patrones || !spl[1].patrones ){ return false; }
  4.  
  5.            
  6.         var dom = spl[1].split(".");
  7.        
  8.             if(dom.length < 2){ return false; }
  9.  
  10.             for(var k=0;k<k.length;k++){
  11.                 if(dom[k] == ""){ return false; }
  12.             }
  13.            
  14.         return true;
  15.         }

ahí solo faltaría verificar [aA-zZ 0-9 . _ etc...] (patrones)

es una forma muy arcaica pero se entiende la idea

Etiquetas: email, formulario, funcion, html, html5, input
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:32.