Soy nuevo en jQuery y me preguntaba cómo usarlo para validar las direcciones de correo electrónico.
jquery
validation
email
DuH
fuente
fuente
Respuestas:
Puede usar JavaScript antiguo normal para eso:
fuente
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
avar regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,6})+$/;
para admitir los nuevos TLD como .museum, etc.Función jQuery para validar correo electrónico
Realmente no me gusta usar complementos, especialmente cuando mi formulario solo tiene un campo que necesita ser validado. Uso esta función y la llamo cada vez que necesito validar un campo de formulario de correo electrónico.
y ahora para usar esto
¡Salud!
fuente
emailReg.test($email);
emailReg.text("")
true
. Simplemente la función hasta la declaración del emailReg var luego esto:return ( $email.length > 0 && emailReg.test($email))
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
avar emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
Me gustaría utilizar el plug-in de validación de jQuery por varias razones.
Validaste, ok genial, ¿y ahora qué? Necesita mostrar el error, manejar borrarlo cuando sea válido, ¿mostrando cuántos errores en total tal vez? Hay muchas cosas que puede manejar por usted, no es necesario reinventar la rueda.
Además, otro gran beneficio es que está alojado en un CDN, la versión actual en el momento de esta respuesta se puede encontrar aquí: http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx Esto significa tiempos de carga más rápidos para el cliente.
fuente
Mire http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ . Es un buen complemento jQuery, que permite construir un poderoso sistema de validación para formularios. Hay algunas muestras útiles
aquí. Entonces, la validación del campo de correo electrónico en el formulario se verá así:Consulte la documentación del método de correo electrónico para obtener detalles y muestras.
fuente
x@x
(eso es extraño) debe[email protected]
¿Cómo puedo solucionarlo?$.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
fuente
: www.htmldrive.net
Fuente: htmldrive.com
fuente
Recomendaría Verimail.js , también tiene un complemento JQuery .
¿Por qué? Verimail admite lo siguiente:
Entonces, además de la validación, Verimail.js también le ofrece sugerencias. Entonces, si escribe un correo electrónico con el TLD o dominio incorrecto que es muy similar a un dominio de correo electrónico común (hotmail.com, gmail.com, etc.), puede detectar esto y sugerir una corrección.
Ejemplos:
Y así..
Para usarlo con jQuery, solo incluya verimail.jquery.js en su sitio y ejecute la siguiente función:
El elemento de mensaje es un elemento en el que se mostrará un mensaje. Esto puede ser todo, desde "Su correo electrónico no es válido" hasta "¿Quiso decir ...?".
Si tiene un formulario y desea restringirlo para que no se pueda enviar a menos que el correo electrónico sea válido, puede verificar el estado utilizando la función getVerimailStatus como se muestra a continuación:
Esta función devuelve un código de estado entero de acuerdo con el objeto Comfirm.AlphaMail.Verimail.Status. Pero la regla general es que los códigos por debajo de 0 son códigos que indican errores.
fuente
.getVerimailStatus()
no devuelve códigos de estado numéricos, solo un valor de cadena desuccess
,error
o posiblementepending
(no verificó el último).esto fue proporcionado por el usuario Luca Filosofi en esta respuesta esta respuesta
fuente
@
personaje con otro@
personaje. Así@@
, de lo contrario, obtendrá un error de compilación.Una solución muy simple es usar la validación html5:
http://jsfiddle.net/du676/56/
fuente
Esto realiza una validación más exhaustiva, por ejemplo, comprueba los puntos sucesivos en el nombre de usuario, como john..doe @ example.com
Vea validar la dirección de correo electrónico utilizando expresiones regulares en JavaScript .
fuente
Como otros han mencionado, puede usar una expresión regular para verificar si la dirección de correo electrónico coincide con un patrón. Pero aún puede tener correos electrónicos que coincidan con el patrón, pero todavía puedo rebotar o ser correos electrónicos falsos de spam.
comprobando con una expresión regular
verificar con una API de validación de correo electrónico real
Puede usar una API que verificará si la dirección de correo electrónico es real y actualmente activa.
Para obtener más información, visite https://isitarealemail.com o una publicación de blog
fuente
Si tiene un formulario básico, simplemente ingrese el tipo de correo electrónico de entrada:
<input type="email" required>
Esto funcionará para los navegadores que usan atributos HTML5 y luego ni siquiera necesita JS. Solo usando la validación de correo electrónico, incluso con algunos de los scripts anteriores, no servirá de mucho ya que:
[email protected] [email protected] [email protected]
etc ... Todos se validarán como correos electrónicos "reales". Por lo tanto, sería mejor asegurarse de que el usuario tenga que ingresar su dirección de correo electrónico dos veces para asegurarse de que ingrese la misma. Pero garantizar que la dirección de correo electrónico sea real sería muy difícil pero muy interesante ver si había un camino. Pero si solo se está asegurando de que sea un correo electrónico, manténgase en la entrada HTML5.
Ejemplo de violín
Esto funciona en Firefox y Chrome. Puede que no funcione en Internet Explorer ... Pero Internet Explorer es una mierda. Entonces está eso ...
fuente
Validación de correo electrónico Javascript en MVC / ASP.NET
El problema que encontré al usar la respuesta de Fabian es implementarlo en una vista MVC debido al
@
símbolo de Razor . Tienes que incluir un@
símbolo adicional para escapar, así:@@
Para evitar la maquinilla de afeitar en MVC
No lo vi en ninguna otra parte de esta página, así que pensé que podría ser útil.
EDITAR
Aquí hay un enlace de Microsoft que describe su uso.
Acabo de probar el código anterior y obtuve el siguiente js:
Que está haciendo exactamente lo que se supone que debe hacer.
fuente
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
¿Qué está pasando con su código?@
símbolo en una expresión regular.cshtml
. Normalmente, trataría de tratar todo después del@
símbolo como código de afeitar, pero el doble lo@@
impide.Usar así:
fuente
fuente
fuente
Aterrizó aquí ..... terminó aquí: https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... que proporcionó la siguiente expresión regular:
... que encontré gracias a una nota en el archivo léame del plugin jQuery Validation: https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
Por lo tanto, la versión actualizada de @Fabian 's respuesta sería:
Espero que ayude
fuente
[email protected]
pero me gustaría que fuera falsoutilizar este
fuente
El error está en Jquery Validation Validation Plugin Solo se valida con @ para cambiar esto
cambia el código a esto
fuente
Para aquellos que desean usar una mejor solución mantenible que las partidas disruptivas RegEx de un año de duración, escribí algunas líneas de código. Los que quieran guardar bytes, se adhieren a la variante RegEx :)
Esto restringe:
De todos modos, todavía es posible filtrarse, así que asegúrese de combinar esto con una validación del lado del servidor + verificación de enlace de correo electrónico.
Aquí está el JSFiddle
fuente
Puede usar jQuery Validation y, en una sola línea HTML, puede validar el correo electrónico y el mensaje de validación de correo electrónico:
type="email" required data-msg-email="Enter a valid email account!"
Puede usar el parámetro data-msg-email para colocar un mensaje personalizado o de lo contrario no coloque este parámetro y se mostrará el mensaje predeterminado: "Ingrese una dirección de correo electrónico válida".
Ejemplo completo:
fuente
fuente
Referencia: SITIO WEB JQUERY UI
fuente
debería ver esto: jquery.validate.js , agréguelo a su proyecto
usándolo así:
fuente
Otra opción simple y completa:
fuente
Puedes crear tu propia función
fuente
Una simplificada que acabo de hacer, hace lo que necesito. Lo han limitado a solo alfanumérico, punto, guión bajo y @.
Hecho con ayuda de otros
fuente
Esta expresión regular evita nombres de dominio duplicados como [email protected], solo permitirá el dominio dos veces como [email protected]. Tampoco permite la introducción desde un número como [email protected]
Todo lo mejor !!!!!
fuente
Valide el correo electrónico mientras escribe, con el manejo del estado del botón.
fuente
si está utilizando la validación jquery
Creé un método
emailCustomFormat
que utilicéregex
para mi formato custm, puede cambiarlo para cumplir con sus requisitosentonces puedes usarlo así
esta expresión regular acepta
[email protected]
,[email protected]
Pero no esteabc@abc
`[email protected]
`[email protected]
Espero que esto te ayude
fuente