2013-05-07 14 views
5

Wie kann ich überprüfen, ob eine bestimmte Zeichenfolge eine E-Mail-Adresse enthält?Prüfen, ob eine Zeichenfolge eine E-Mail-Adresse enthält?

Die E-Mail-Adresse würde auch mit viel anderem Text enthalten sein.

Auch nicht unbedingt die E-Mail-Adresse selbst zu überprüfen. Mehr noch, nur um sicherzustellen, dass [email protected] vorhanden ist.

Beispiel string:

Overall I liked the service, but had trouble using the widget generator. 

Want more info? You can contact me at [email protected] 

Plain Javascript ist in Ordnung, aber ich passieren jQuery zu verwenden, so dass, wenn es irgendeine Art von Hilfsfunktion ist, die dies einfacher ... gehen für sie macht.

+2

Was sagte @WesleyMurch. Ich suche Javascript hier. Nicht PHP. – Shpigford

+0

@WesleyMurch Ah Ochsen, meine Schlechte :(Aber reguläre Ausdrücke funktionieren auch in JavaScript. –

+1

FWIW, dieser Beitrag ist bereits # 1 in Google für "[Javascript prüfen, ob eine Zeichenfolge eine E-Mail-Adresse enthält] (https://www.google .com/search? q = javascript + check + wenn + a + string + enthält + an + email + adresse) ". Eine gute Antwort wäre hilfreich, anstatt die Frage zu verwerfen, weil sie mit einer anderen verwandt ist. –

Antwort

10

Debuggex Example

JsFiddle Example

function checkIfEmailInString(text) { 
    var re = /(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[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,}))/; 
    return re.test(text); 
} 
+0

Auf der negativen Seite dieses passt es nicht neue Zeilen, irgendwelche Ideen, wie Sie dies ändern? https://regex101.com/r/rN6eD6/1 – Jimmyt1988

5

Sie können diese verwenden:

var StrObj = "whatever, this is my email [email protected] other text"; 
var emailsArray = StrObj.match(/([a-zA-Z0-9._-][email protected][a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi); 
if (emailsArray != null && emailsArray.length) { 
    //has email 
} 

Diese können Sie auch die E-Mail-Adresse aus dem Array erhalten, wenn Sie es brauchen.

Verwandte Themen