Frage JavaScript Regulärer Ausdruck Email Validierung [duplizieren]


Diese Frage hat hier bereits eine Antwort:

Dieser Code alarmiert immer "null", was bedeutet, dass die Zeichenfolge nicht mit dem Ausdruck übereinstimmt.

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


Ursprung


Antworten:


Wenn Sie Ihren regulären Ausdruck als String definieren, müssen alle Backslashes mit Escapezeichen versehen werden. Statt '\ w' sollten Sie also '\ w' haben.

Alternativ definieren Sie es als regulären Ausdruck:

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

BTW, bitte validieren Sie keine E-Mail-Adressen auf der Client-Seite. Ihr regulärer Ausdruck ist für eine solide Implementierung viel zu einfach.

Sehen Sie das wahre Ding hier: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html


61
2018-06-02 16:45



Dies ist der, den ich auf meiner Seite benutze.

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



Ich benutze diese Funktion für eine Weile. es gibt einen booleschen Wert zurück.

// 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



Das könnte Sie interessieren diese Frage (oder dieses), was die Tatsache unterstreicht, dass das Identifizieren von gültigen E-Mail-Adressen über Regexps ein sehr schwer zu lösendes Problem ist (wenn überhaupt lösbar)


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



mit einfacher

Hier ist es :

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")

}

Viel Glück.


7
2017-12-06 14:12



Manchmal müssen die meisten Registrierungs- und Login-Seiten E-Mails validieren. In diesem Beispiel lernen Sie einfache Email-Validierung. Nehmen Sie zuerst eine Texteingabe in HTML und eine Tasteneingabe wie folgt

<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>

Sie können auch überprüfen, ob Sie diesen regulären Ausdruck verwenden

<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>

Überprüfen Sie diese Demo-Ausgabe, die Sie hier überprüfen können

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();'/>

Wenn die E-Mail-Adresse ungültig ist, geben Sie eine Warnmeldung ein, wenn die E-Mail-Adresse gültig ist, dann keine Warnmeldung. Weitere Informationen zum regulären Ausdruck

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

hoffe es wird dir helfen


7
2017-09-23 17:07