2013-05-07 18 views
5

Come posso verificare che una determinata stringa contenga un indirizzo email.Controlla se una stringa contiene un indirizzo email?

L'indirizzo di posta elettronica dovrebbe essere incluso con molto altro testo.

Inoltre, non sembra necessariamente convalidare rigorosamente l'indirizzo email stesso. Inoltre, voglio solo assicurarmi che sia presente [email protected].

stringa Esempio:

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

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

javascript Pianura va bene, ma mi capita di essere utilizzando jQuery, quindi se c'è una sorta di funzione di supporto che rende questo più facile ... andare per esso.

+2

Cosa ha detto @WesleyMurch. Sto cercando javascript qui. Non PHP – Shpigford

+0

@WesleyMurch Ah bullocks, il mio male :(ma le espressioni regolari funzionano anche in JavaScript. –

+1

FWIW, questo post è già # 1 in Google per "[javascript verifica se una stringa contiene un indirizzo email] (https://www.google .com/search? q = javascript + check + if + a + string + contiene + an + email + address) ". Una buona risposta sarebbe utile, piuttosto che respingere la domanda perché è in qualche modo correlata a un'altra: –

risposta

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

Sul negativo di questo non corrisponde a nuove linee, qualche idea su come modificare questo? https://regex101.com/r/rN6eD6/1 – Jimmyt1988

5

È possibile utilizzare questo:

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 
} 

Ciò consente anche di ottenere l'indirizzo di posta elettronica dalla matrice, se ne avete bisogno.

Problemi correlati