para - validar email jquery expresiones regulares
Validación de correo electrónico utilizando jQuery (30)
Soy nuevo en jQuery y me preguntaba cómo usarlo para validar las direcciones de correo electrónico.
Validación de correo electrónico de Javascript en MVC / ASP.NET
El problema que encontré mientras utilizaba la respuesta de Fabian, es implementarlo en una vista MVC debido al símbolo Razor @
. Tienes que incluir un símbolo @
adicional para escapar de él, así: @@
Evitar Razor En MVC
function isEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+/@@(([a-zA-Z0-9-])+/.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
No lo vi en ninguna otra parte de esta página, así que pensé que podría ser útil.
EDITAR
Aquí hay un link de Microsoft que describe su uso.
Acabo de probar el código anterior y obtuve los siguientes js:
function validateEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+/@(([a-zA-Z0-9-])+/.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
Que está haciendo exactamente lo que se supone que debe hacer.
Aterrizado aquí ... terminé aquí: https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... que proporcionó la siguiente expresión regular:
/^[a-zA-Z0-9.!#$%&''*+//=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:/.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
... que encontré gracias a una nota en el archivo léame del complemento de validación de jQuery: https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
Entonces, la versión actualizada de la de sería:
function IsEmail(email) {
var regex = /^[a-zA-Z0-9.!#$%&''*+//=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:/.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
return regex.test(email);
}
Espero que ayude
Como se mencionó anteriormente, este es lo suficientemente bueno si me preguntas.
var regex = /^([a-zA-Z0-9_.+-])+/@(([a-zA-Z0-9-])+/.)+([a-zA-Z0-9]{2,4})+$/;
Pero si no desea que el final del dominio (.com, .nu, .net, etc.) contenga números (que es mi opción preferida), la versión editada sería:
var regex = /^([a-zA-Z0-9_.+-])+/@(([a-zA-Z0-9-])+/.)+([a-zA-Z]{2,4})+$/;
El error está en el complemento de validación de validación Jquery Solo se valida con @ para cambiar esto
cambia el código a este
email: function( value, element ) {
// From http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#e-mail-state-%28type=email%29
// Retrieved 2014-01-14
// If you have a problem with this implementation, report a bug against the above spec
// Or use custom methods to implement your own email validation
return this.optional( element ) || /^([a-zA-Z0-9_/./-])+/@(([a-zA-Z0-9/-])+/.)+([a-zA-Z0-9]{2,4})+$/.test( value );
}
Esta expresión regular evita los nombres de dominio duplicados como [email protected], solo permitirá el dominio dos veces como [email protected]. Tampoco permite la declaración de números como [email protected]
regexp: /^([a-zA-Z])+([a-zA-Z0-9_.+-])+/@(([a-zA-Z])+/.+?(com|co|in|org|net|edu|info|gov|vekomy))/.?(com|co|in|org|net|edu|info|gov)?$/,
Todo lo mejor !!!!!
Esto realiza una validación más completa, por ejemplo, comprueba puntos sucesivos en el nombre de usuario como john..doe @ example.com
<form>
<input type="email" required pattern="[^@]+@[^@]+/.[a-zA-Z]{2,6}">
<input type="submit">
</form>
Ver validar la dirección de correo electrónico utilizando expresiones regulares en JavaScript .
Mire en http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ . Es agradable el complemento jQuery, que permite construir un sistema de validación potente para formularios. Hay algunas muestras útiles aquí . Por lo tanto, la validación de campo de correo electrónico en la forma se verá así:
$("#myform").validate({
rules: {
field: {
required: true,
email: true
}
}
});
Consulte la documentación del método de correo electrónico para obtener detalles y ejemplos.
Otra opción simple y completa:
<input type="text" id="Email"/>
<div id="ClasSpan"></div>
<input id="ValidMail" type="submit" value="Valid"/>
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+/@(([a-zA-Z0-9-])+/.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
$("#ValidMail").click(function () {
$(''span'', ''#ClasSpan'').empty().remove();
if (IsEmail($("#Email").val())) {
//aqui mi sentencia
}
else {
$(''#ClasSpan'').append(''<span>Please enter a valid email</span>'');
$(''#Email'').keypress(function () {
$(''span'', ''#itemspan'').empty().remove();
});
}
});
Para aquellos que quieren usar una solución mejor mantenible que las disyuntivas RegEx de un año de luz, escribí algunas líneas de código. Quienes deseen guardar bytes, se adhieren a la variante RegEx :)
Esto restringe:
- No @ en cadena
- Sin punto en la cuerda
- Más de 2 puntos después de @
- Caracteres incorrectos en el nombre de usuario (antes de @)
- Más de 2 @ en cuerda.
- Caracteres malos en el dominio.
- Caracteres malos en subdominio
- Caracteres malos en TLD
- TLD - direcciones
De todos modos, aún es posible filtrarse, así que asegúrese de combinar esto con una validación del lado del servidor + verificación del enlace de correo electrónico.
Aquí está el JSFiddle
//validate email
var emailInput = $("#email").val(),
emailParts = emailInput.split(''@''),
text = ''Enter a valid e-mail address!'';
//at least one @, catches error
if (emailParts[1] == null || emailParts[1] == "" || emailParts[1] == undefined) {
yourErrorFunc(text);
} else {
//split domain, subdomain and tld if existent
var emailDomainParts = emailParts[1].split(''.'');
//at least one . (dot), catches error
if (emailDomainParts[1] == null || emailDomainParts[1] == "" || emailDomainParts[1] == undefined) {
yourErrorFunc(text);
} else {
//more than 2 . (dots) in emailParts[1]
if (!emailDomainParts[3] == null || !emailDomainParts[3] == "" || !emailDomainParts[3] == undefined) {
yourErrorFunc(text);
} else {
//email user
if (/[^a-z0-9!#$%&''*+-/=?^_`{|}~]/i.test(emailParts[0])) {
yourErrorFunc(text);
} else {
//double @
if (!emailParts[2] == null || !emailParts[2] == "" || !emailParts[2] == undefined) {
yourErrorFunc(text);
} else {
//domain
if (/[^a-z0-9-]/i.test(emailDomainParts[0])) {
yourErrorFunc(text);
} else {
//check for subdomain
if (emailDomainParts[2] == null || emailDomainParts[2] == "" || emailDomainParts[2] == undefined) {
//TLD
if (/[^a-z]/i.test(emailDomainParts[1])) {
yourErrorFunc(text);
} else {
yourPassedFunc();
}
} else {
//subdomain
if (/[^a-z0-9-]/i.test(emailDomainParts[1])) {
yourErrorFunc(text);
} else {
//TLD
if (/[^a-z]/i.test(emailDomainParts[2])) {
yourErrorFunc(text);
} else {
yourPassedFunc();
}}}}}}}}}
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 lo haga y se mostrará el mensaje predeterminado: "Introduzca una dirección de correo electrónico válida".
Ejemplo completo:
<form class="cmxform" id="commentForm" method="get" action="">
<fieldset>
<p>
<label for="cemail">E-Mail (required)</label>
<input id="cemail" type="email" name="email" required data-msg-email="Enter a valid email account!">
</p>
<p>
<input class="submit" type="submit" value="Submit">
</p>
</fieldset>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.validate.js"></script>
<script>
$("#commentForm").validate();
</script>
Puedes crear tu propia función.
function emailValidate(email){
var check = "" + email;
if((check.search(''@'')>=0)&&(check.search(//./)>=0))
if(check.search(''@'')<check.split(''@'')[1].search(//./)+check.search(''@'')) return true;
else return false;
else return false;
}
alert(emailValidate(''[email protected]''));
Puedes usar javascript antiguo regular para eso:
function isEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+/@(([a-zA-Z0-9-])+/.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
Recomendaría Verimail.js , también tiene un complemento JQuery .
¿Por qué? Verimail es compatible con lo siguiente:
- Validación de sintaxis (según RFC 822)
- Validación TLD IANA
- Sugerencia de ortografía para los dominios de TLD y correo electrónico más comunes
- Denegar dominios de cuentas de correo electrónico temporales como mailinator.com
Así que además de la validación, Verimail.js también te da 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:
- [email protected] -> ¿Querías decir test @ gmail.com ?
- [email protected] -> ¿Querías decir test @ hey? neto ?
- [email protected] -> ¿Querías decir test @ hotmail.com ?
Y así..
Para usarlo con jQuery, solo incluya verimail.jquery.js en su sitio y ejecute la siguiente función:
$("input#email-address").verimail({
messageElement: "p#status-message"
});
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" a "¿Quiso decir ...?".
Si tiene un formulario y desea restringirlo para que no pueda enviarse 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:
if($("input#email-address").getVerimailStatus() < 0){
// Invalid
}else{
// Valid
}
Esta función devuelve un código de estado entero según el objeto Comfirm.AlphaMail.Verimail.Status. Pero la regla general es que cualquier código debajo de 0 es un código que indica errores.
Si tiene un formulario básico, simplemente haga el tipo de entrada del correo electrónico: <input type="email" required>
Esto funcionará para los navegadores que usan atributos HTML5 y luego ni siquiera necesita JS. El solo uso de 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 ... Se validarán todos 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 haya ingresado 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 una camino. Pero si solo te estás asegurando de que sea un correo electrónico, apégate a la entrada de HTML5.
Esto funciona en Firefox y Chrome. Puede que no funcione en Internet Explorer ... Pero Internet Explorer apesta. Así que luego está eso ...
Una simplificada que acabo de hacer, hace lo que necesito. Lo he limitado a solo alfanumérico, punto, subrayado y @.
<input onKeyUp="testEmailChars(this);"><span id="a"></span>
function testEmailChars(el){
var email = $(el).val();
if ( /^[[email protected]]+$/.test(email)==true ){
$("#a").html("valid");
} else {
$("#a").html("not valid");
}
}
Hecho con la ayuda de otros.
Una solución muy simple es usar la validación html5:
function isValidEmail(email)
{
return /^[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*/.)+[a-z]{2,4}$/.test(email)
&& /^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*/.test(email);
}
Use jquery.validate.js , tiene Microsoft ajax CDN.
$(''#form'').validate({
rules:{
"name":{
required:true,
maxlength:40
},
"email":{
required:true,
email:true, //for validate email
maxlength:100
},
"message":{
required:true
}
}
});
Valide el correo electrónico mientras escribe, con el manejo del estado del botón.
$("#email").on("input", function(){
var email = $("#email").val();
var filter = /^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$/;
if (!filter.test(email)) {
$(".invalid-email:empty").append("Invalid Email Address");
$("#submit").attr("disabled", true);
} else {
$("#submit").attr("disabled", false);
$(".invalid-email").empty();
}
});
Yo usaría el plugin de validación jQuery por varias razones.
Has validado, ok genial, ¿y ahora qué? Necesita mostrar el error, manejar el borrado cuando es válido, mostrar cuántos errores en total, tal vez? Hay muchas cosas que puede manejar por usted, sin necesidad de 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.
debería ver esto: jquery.validate.js , agréguelo a su proyecto
usándolo así:
<input id=''email'' name=''email'' class=''required email''/>
utilizar esta
if ($this.hasClass(''tb-email'')) {
var email = $this.val();
var txt = /^([a-zA-Z0-9_/./-/+])+/@(([a-zA-Z0-9/-])+/.)+([a-zA-Z0-9]{2,4})+$/;
if (!txt.test(email)) {
e.preventDefault();
$this.addClass(''error'');
} else {
$this.removeClass(''error'');
}
}
Función jQuery para validar correo electrónico
Realmente no me gusta usar complementos, especialmente cuando mi formulario solo tiene un campo que necesita validarse. Utilizo esta función y la invoco cuando necesito validar un campo de formulario de correo electrónico.
function validateEmail($email) {
var emailReg = /^([/w-/.]+@([/w-]+/.)+[/w-]{2,4})?$/;
return emailReg.test( $email );
}
y ahora a usar esto
if( !validateEmail(emailaddress)) { /* do stuff here */ }
¡Aclamaciones!
<!-- Dont forget to include the jQuery library here -->
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#validate").keyup(function(){
var email = $("#validate").val();
if(email != 0)
{
if(isValidEmailAddress(email))
{
$("#validEmail").css({
"background-image": "url(''validYes.png'')"
});
} else {
$("#validEmail").css({
"background-image": "url(''validNo.png'')"
});
}
} else {
$("#validEmail").css({
"background-image": "none"
});
}
});
});
function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[/w-/s]+")|([/w-]+(?:/.[/w-]+)*)|("[/w-/s]+")([/w-]+(?:/.[/w-]+)*))(@((?:[/w-]+/.)*/w[/w-]{0,66})/.([a-z]{2,6}(?:/.[a-z]{2})?)$)|(@/[?((25[0-5]/.|2[0-4][0-9]/.|1[0-9]{2}/.|[0-9]{1,2}/.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})/.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})/]?$)/i);
return pattern.test(emailAddress);
}
</script>
<style>
#validEmail
{
margin-top: 4px;
margin-left: 9px;
position: absolute;
width: 16px;
height: 16px;
}
.text
{
font-family: Arial, Tahoma, Helvetica;
}
</style>
<title>Live Email Validation with jQuery Demo</title>
</head>
<body>
<div class="text"><h1>Reynoldsftw.com - Live Email Validation</h1><h2>Type in an email address in the box below:</h2></div>
<div><input type="text" id="validate" width="30"><span id="validEmail"></span></div>
<div class="text"><P>More script and css style
Fuente: htmldrive.com
<script type = "text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type = "text/javascript">
function ValidateEmail(email) {
var expr = /^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$/;
return expr.test(email);
};
$("#btnValidate").live("click", function () {
if (!ValidateEmail($("#txtEmail").val())) {
alert("Invalid email address.");
}
else {
alert("Valid email address.");
}
});
</script>
<input type = "text" id = "txtEmail" />
<input type = "button" id = "btnValidate" value = "Validate" />
<script type="text/javascript">
$(document).ready(function() {
$(''.form_error'').hide();
$(''#submit'').click(function(){
var name = $(''#name'').val();
var email = $(''#email'').val();
var phone = $(''#phone'').val();
var message = $(''#message'').val();
if(name== ''''){
$(''#name'').next().show();
return false;
}
if(email== ''''){
$(''#email'').next().show();
return false;
}
if(IsEmail(email)==false){
$(''#invalid_email'').show();
return false;
}
if(phone== ''''){
$(''#phone'').next().show();
return false;
}
if(message== ''''){
$(''#message'').next().show();
return false;
}
//ajax call php page
$.post("send.php", $("#contactform").serialize(), function(response) {
$(''#contactform'').fadeOut(''slow'',function(){
$(''#success'').html(response);
$(''#success'').fadeIn(''slow'');
});
});
return false;
});
});
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_/./-/+])+/@(([a-zA-Z0-9/-])+/.)+([a-zA-Z0-9]{2,4})+$/;
if(!regex.test(email)) {
return false;
}else{
return true;
}
}
</script>
<form action="" method="post" id="contactform">
<table class="contact-table">
<tr>
<td><label for="name">Name :</label></td>
<td class="name"> <input name="name" id="name" type="text" placeholder="Please enter your name" class="contact-input"><span class="form_error">Please enter your name</span></td>
</tr>
<tr>
<td><label for="email">Email :</label></td>
<td class="email"><input name="email" id="email" type="text" placeholder="Please enter your email" class="contact-input"><span class="form_error">Please enter your email</span>
<span class="form_error" id="invalid_email">This email is not valid</span></td>
</tr>
<tr>
<td><label for="phone">Phone :</label></td>
<td class="phone"><input name="phone" id="phone" type="text" placeholder="Please enter your phone" class="contact-input"><span class="form_error">Please enter your phone</span></td>
</tr>
<tr>
<td><label for="message">Message :</label></td>
<td class="message"><textarea name="message" id="message" class="contact-input"></textarea><span class="form_error">Please enter your message</span></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" class="contactform-buttons" id="submit"value="Send" />
<input type="reset" class="contactform-buttons" id="" value="Clear" />
</td>
</tr>
</table>
</form>
<div id="success" style="color:red;"></div>
checkRegexp( email, /^((([a-z]|/d|[!#/$%&''/*/+/-//=/?/^_`{/|}~]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])+(/.([a-z]|/d|[!#/$%&''/*/+/-//=/?/^_`{/|}~]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])+)*)|((/x22)((((/x20|/x09)*(/x0d/x0a))?(/x20|/x09)+)?(([/x01-/x08/x0b/x0c/x0e-/x1f/x7f]|/x21|[/x23-/x5b]|[/x5d-/x7e]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(//([/x01-/x09/x0b/x0c/x0d-/x7f]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]))))*(((/x20|/x09)*(/x0d/x0a))?(/x20|/x09)+)?(/x22)))@((([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])([a-z]|/d|-|/.|_|~|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])*([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])))/.)+(([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])([a-z]|/d|-|/.|_|~|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])*([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])))/.?$/i, "eg. [email protected]" );
Referencia: SITIO WEB DE JQUERY UI
function isValidEmail(emailText) {
var pattern = new RegExp(/^((([a-z]|/d|[!#/$%&''/*/+/-//=/?/^_`{/|}~]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])+(/.([a-z]|/d|[!#/$%&''/*/+/-//=/?/^_`{/|}~]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])+)*)|((/x22)((((/x20|/x09)*(/x0d/x0a))?(/x20|/x09)+)?(([/x01-/x08/x0b/x0c/x0e-/x1f/x7f]|/x21|[/x23-/x5b]|[/x5d-/x7e]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(//([/x01-/x09/x0b/x0c/x0d-/x7f]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]))))*(((/x20|/x09)*(/x0d/x0a))?(/x20|/x09)+)?(/x22)))@((([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])([a-z]|/d|-|/.|_|~|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])*([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])))/.)+(([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])([a-z]|/d|-|/.|_|~|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])*([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])))/.?$/i);
return pattern.test(emailText);
};
Utilice como este:
if( !isValidEmail(myEmail) ) { /* do things if myEmail is valid. */ }
function validateEmail(emailaddress){
var emailReg = /^([/w-/.]+@([/w-]+/.)+[/w-]{2,4})?$/;
if(!emailReg.test(emailaddress)) {
alert("Please enter valid email id");
}
}
if($("input#email-address").getVerimailStatus() < 0) {
(incorrect code)
}
if($("input#email-address").getVerimailStatus() == ''error'') {
(right code)
}
- http://so.devilmaycode.it/jquery-validate-e-mail-address-regex/
- usando un nuevo regex
- soporte añadido para etiquetas de dirección (signo +)
function isValidEmailAddress(emailAddress) {
var pattern = /^([a-z/d!#$%&''*+/-//=?^_`{|}~/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]+(/.[a-z/d!#$%&''*+/-//=?^_`{|}~/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]+)*|"((([ /t]*/r/n)?[ /t]+)?([/x01-/x08/x0b/x0c/x0e-/x1f/x7f/x21/x23-/x5b/x5d-/x7e/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]|//[/x01-/x09/x0b/x0c/x0d-/x7f/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]))*(([ /t]*/r/n)?[ /t]+)?")@(([a-z/d/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]|[a-z/d/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF][a-z/d/-._~/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]*[a-z/d/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])/.)+([a-z/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]|[a-z/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF][a-z/d/-._~/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]*[a-z/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])/.?$/i;
return pattern.test(emailAddress);
};
if( !isValidEmailAddress( emailaddress ) ) { /* do stuff here (email is invalid) */ }
esto fue proporcionado por el usuario Luca Filosofi en esta respuesta esta respuesta