Pregunta Validación de correo electrónico de expresión regular de JavaScript [duplicar]


Esta pregunta ya tiene una respuesta aquí:

Este código siempre está alertando "null", lo que significa que la cadena no coincide con la expresión.

var pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"; 

function isEmailAddress(str) {

    str = "azamsharp@gmail.com";      

    alert(str.match(pattern)); 
    return str.match(pattern);    

}

75
2018-06-02 16:40


origen


Respuestas:


Si define su expresión regular como una cadena, todas las barras invertidas deben escaparse, por lo que en lugar de '\ w' debe tener '\\ w'.

Alternativamente, defínalo como una expresión regular:

var pattern = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/; 

Por cierto, no valide las direcciones de correo electrónico del lado del cliente. Su expresión regular es demasiado simple para pasar de una implementación sólida de todos modos.

Vea lo real aquí: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html


61
2018-06-02 16:45



este es el que estoy usando en mi página.

http://www.zparacha.com/validate-email-address-using-javascript-regular-expression/

/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/


26
2018-06-27 23:55



He estado usando esta función por un tiempo. devuelve un valor booleano.

// Validates email address of course.
function validEmail(e) {
    var filter = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    return String(e).search (filter) != -1;
}

13
2017-08-31 20:46



Usted puede estar interesado en esta pregunta (o éste), lo que destaca el hecho de que la identificación de direcciones de correo electrónico válidas a través de expresiones regulares es un problema muy difícil de resolver (si es que se puede resolver)


11
2018-06-02 16:47



function isEmailAddress(str) {
   var pattern =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
   return pattern.test(str);  // returns a boolean 
}

8
2018-04-24 09:59



con más simple

Aquí está :

var regexEmail = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
var email = document.getElementById("txtEmail");

if (regexEmail.test(email.value)) {
    alert("It's Okay")
} else {
    alert("Not Okay")

}

buena suerte.


7
2017-12-06 14:12



En ocasiones, la mayor parte de la página de registro e inicio de sesión necesita validar el correo electrónico. En este ejemplo, aprenderá la validación simple de correo electrónico. Primero tome una entrada de texto en html y una entrada de botón como esta

<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

<script>
    function checkEmail() {
        var email = document.getElementById('txtEmail');
        var filter = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        if (!filter.test(email.value)) {
            alert('Please provide a valid email address');
            email.focus;
            return false;
        }
    }
</script>

también puedes verificar usando esta expresión regular

<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

<script>
    function checkEmail() {

        var email = document.getElementById('txtEmail');
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

        if (!filter.test(email.value)) {
            alert('Please provide a valid email address');
            email.focus;
            return false;
        }
    }
</script>

Verifique esta salida de demostración que puede verificar aquí

function checkEmail() {
        var email = document.getElementById('txtEmail');
        var filter = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        if (!filter.test(email.value)) {
            alert('Please provide a valid email address');
            email.focus;
            return false;
        }
    }
<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

si el correo electrónico no es válido, envíe un mensaje de alerta, si es válido, entonces no hay mensaje de alerta. para más información sobre la expresión regular

https://www.w3schools.com/jsref/jsref_obj_regexp.asp

Espero que te ayude


7
2017-09-23 17:07



Usted puede estar interesado en echar un vistazo a esto página enumera las expresiones regulares para validar la dirección de correo electrónico que cubren casos más generales.


5
2018-06-02 16:49