Salteremo direttamente alla risposta breve e ci occuperemo della lunga spiegazione dopo.

Molto semplicemente, no.

Posso sentire gli sviluppatori e gli avvocati del diavolo là fuori mettere in discussione la nostra ottusa negazione della convalida regex delle email, spingendo l'ulteriore domanda, quindi, del perché esiste affatto.

Beh, non negheremo che può essere uno strumento utile, ed è certamente un piccolo kit intelligente per impedire agli utenti di aggiungere qualsiasi vecchio testo in un modulo o altro mezzo eseguibile. A un certo punto, l'email regex ha avuto il suo ruolo nel modo in cui raccogliamo i dati delle email.

Ma ora? In linea con la tecnologia e gli standard attuali?

Noi diciamo che ha fatto il suo tempo.

Se vuoi assicurarti di ottenere indirizzi email puliti che non incasinano il tuo email marketing, le tue percentuali di rimbalzo, i punteggi di deliverability e tutte le cose di cui sai che hai bisogno per mantenere alte le tue metriche e le tue conversioni, allora la regex non è il modo.

Cos'è la regex di convalida delle email?

Regex è l'abbreviazione di regular expression; è un termine usato in vari linguaggi di codifica. Regex, o espressioni regolari, si riferisce a stringhe di testo codificate progettate per corrispondere a modelli trovati in altre stringhe.

Possono essere abbastanza utili quando un utente ha bisogno di abbinare una stringa di caratteri a un particolare tipo di modello per verificare che le informazioni fornite appaiano corrette. Considerate i numeri di telefono, i codici postali, le date e, sì, il grande che ci interessa, gli indirizzi e-mail.

Con uno schema semplice, una stringa esatta può essere abbinata ad un insieme di regole. Quando i pattern semplici diventano più complicati, la regex diventa meno efficiente e ha più probabilità di fornire cattivi risultati.

Sembra buono finora, quindi, qual è il problema con la convalida regex delle email?

Per quanto la regex sia uno strumento ingegnoso, non copre i controlli di cui avete bisogno. Date un'occhiata a questi:

[email protected]
[email protected]
[email protected]
[email protected]

Supponiamo che tu veda uno di questi come aggiunta alla tua lista di email; lo segnaleresti subito (o dovresti farlo!). Non crederesti che nessuna di esse sia un'iscrizione valida da parte di persone reali che mostrano un interesse nel tuo prodotto e servizio.

La convalida delle email di Regex lo farebbe, però. Le lascerebbe passare tutte.

Perché? Perché quegli indirizzi palesemente falsi seguono ancora gli schemi che le sue regole si prefiggono di confermare.

Non sembra così intelligente ora, vero?

È troppo restrittivo

Nonostante questi esempi precedenti ci sembrino così palesemente falsi, alcuni formati di email includono molti più caratteri speciali di quelli che siamo abituati a vedere.

Nella sua forma più semplice e l'indirizzo e-mail segue il seguente formato:

nome utente@dominio

Gli indirizzi e-mail sono costruiti in tre sezioni:

  • La parte locale - tipicamente un nome utente o un ruolo lavorativo
  • Il carattere @
  • Il dominio, compreso un TLD (Top Level Domain) valido

Se questo fosse tutto ciò che il codice deve cercare, allora un tipico controllo regex javascript impedirebbe a molti cattivi contatti di finire nelle nostre liste.

In genere, i nostri indirizzi e-mail possono includere i seguenti caratteri:

  • Cifre: da 0 a 9
  • Lettere minuscole e maiuscole: dalla a alla z e dalla A alla Z
  • Altri caratteri speciali: !#$%&'*+-/=?^_`{|}~
  • Il carattere punto [.]: Ma non come primo o ultimo carattere, o usato consecutivamente

Se qualcuno si iscrivesse alla vostra mailing list con uno o più di questi caratteri speciali, la maggior parte di noi si chiederebbe se c'è qualcosa che non va, e avremmo torto - sono tutti permessi dalla convenzione attuale.

Regex non controlla nient'altro che la sintassi

Gli sviluppatori potrebbero preoccuparsi solo di ottenere indirizzi dall'aspetto valido attraverso un modulo, ma noi no. Abbiamo bisogno di sapere:

  • Il dominio esiste?
  • C'è un record MX per dimostrare che il dominio ha un server di posta?
  • L'indirizzo email ha un account email funzionante?

Ognuna di queste domande che segna un 'no' avrà un duro 'no' anche da noi come marketer. Regex non controlla nulla di tutto ciò - solo uno strumento di convalida delle email dedicato tirerà fuori queste bandiere rosse.

Non individua gli indirizzi temporanei e usa e getta

Come email marketer, un'altra cosa di cui siamo più che consapevoli è che molti utenti creano account temporanei falsi per approfittare di un'offerta, di una promozione o di un'altra situazione. È un modo semplice per evitare di aggiungere disordine ai loro account e-mail esistenti o di fornire informazioni su di sé che non desiderano.

È facile impostare un indirizzo email temporaneo o usa e getta come soluzione una tantum. Questi indirizzi spesso scompaiono entro 10 o 15 minuti dall'impostazione, rendendoli incredibilmente adatti allo scopo.
Il regex non li controlla. Gli indirizzi email temporanei e usa e getta passano tutti i test di convalida regex.

Come imposteresti un javascript regex per le email?

Se sei uno sviluppatore dilettante, probabilmente non avrai bisogno della nostra conoscenza di base dell'argomento per dirti come, ma per quelli di voi con qualche esperienza di codifica, dovrebbe essere qualcosa di simile a questo:

funzione ValidateEmail(inputText)

{

var mailformat = [a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

se(inputText.value.match(mailformat))

{

alert("Questo non è un indirizzo e-mail valido");

restituire false;

}

}

La parte che fa tutto il lavoro pesante è il var mailformat linea. L'esecuzione e i caratteri di quella lunga linea di codice definiscono cosa è permesso e cosa no.

Si possono individuare le cose semplici: a-z, A-Z, 0-9e poi i caratteri speciali nella prima sezione locale. Il sito +@ poi detta il separatore locale e di dominio. Dopo la @ abbiamo poi un'altra serie di istruzioni su ciò che è permesso per la sezione del dominio.

Se volete una visione molto più profonda di ciò che serve per implementare un validatore regex, allora andate su abstract. Hanno un'ottima guida su cosa serve esattamente e sono esperti quando si tratta di tutti i tipi di aggiunte e inclusioni API.

Se vale la pena fare un lavoro, vale la pena farlo bene, quindi convalida le tue liste nel miglior modo possibile

C'è solo un modo per assicurarsi che le tue liste di e-mail siano in condizioni eccellenti, ed è quello di utilizzare uno strumento di convalida delle e-mail dedicato, come Buttafuori.

La convalida Regex potrebbe essere responsabile dell'inserimento di indirizzi email falsi nelle vostre liste di email e del blocco di quelli validi. Quando si tratta di aggiungere un metodo di autenticazione ai tuoi moduli online o metodi di raccolta dati, ti suggeriamo altre forme di convalida più robuste.

In definitiva, gestire le tue liste di email attraverso una piattaforma come Bouncer è il modo migliore per mantenere le tue liste pulite e sane, i tuoi tassi di rimbalzo giù, la tua deliverability alta e il tuo punteggio mittente in forma smagliante.

Messaggio e-mail Regex FAQ

Qual è una semplice regex per la validazione delle email?

Una semplice regex (espressione regolare) per la validazione delle e-mail è una sequenza di caratteri che definisce un modello di ricerca per gli indirizzi e-mail. Può essere usata per verificare se una stringa corrisponde al formato standard di un indirizzo e-mail. Tuttavia, è importante notare che una semplice regex potrebbe non catturare tutti gli indirizzi e-mail non validi e potrebbe consentire il passaggio di alcuni formati e-mail non standard.

In che modo la regex delle email aiuta a filtrare gli indirizzi email non validi?

La regex delle e-mail viene utilizzata per confrontare la stringa di input (l'indirizzo e-mail inserito dall'utente) con un formato specifico. Se l'indirizzo e-mail non corrisponde a questo formato, viene considerato non valido. Questo può aiutare a prevenire gli errori di battitura, a garantire la coerenza dei dati e a proteggere da alcuni tipi di attacchi di tipo injection.

Che cos'è un carattere di spazio bianco nel contesto delle regex per le e-mail?

Un carattere di spazio bianco nelle regex delle e-mail si riferisce a qualsiasi carattere utilizzato per rappresentare spazi vuoti, come spazi, tabulazioni o interruzioni di riga. Nel contesto degli indirizzi e-mail, i caratteri di spazio bianco non sono generalmente ammessi e la loro presenza renderebbe un indirizzo e-mail non valido.

Cos'è una regex complessa per le e-mail?

Una regex complessa per le e-mail è un'espressione regolare più dettagliata e precisa utilizzata per la convalida delle e-mail. Può tenere conto di vari aspetti degli indirizzi e-mail, come i nomi di dominio, i caratteri non latini e le regole specifiche sulla posizione di alcuni caratteri. Se da un lato fornisce una validazione più approfondita, dall'altro può essere più impegnativa da implementare e mantenere.

Come gestisce la regex delle e-mail i caratteri non latini e Unicode?

La gestione di caratteri non latini e Unicode nelle regex delle e-mail può essere complessa. Alcuni sistemi di posta elettronica consentono l'uso di Unicode o di indirizzi e-mail non latini, ma non sono universalmente supportati. Una regex di posta elettronica complessa può includere classi di caratteri per corrispondere a caratteri non latini, ma è essenziale comprendere i requisiti e i vincoli specifici del sistema di posta elettronica con cui si lavora.

Qual è il ruolo delle classi di caratteri nelle regex delle e-mail?

Le classi di caratteri nelle regex per e-mail definiscono un insieme di caratteri che possono corrispondere a qualsiasi singolo carattere della stringa di input. Ad esempio, la classe di caratteri [a-z] corrisponde a qualsiasi lettera minuscola inglese. Le classi di caratteri possono essere utilizzate per specificare i caratteri validi per le diverse parti di un indirizzo e-mail.

Quali sono i limiti della regex per la validazione delle email?

Sebbene la regex delle e-mail possa individuare molti errori comuni negli indirizzi e-mail, non è un metodo di convalida completo. Alcuni indirizzi non validi possono comunque passare il controllo della regex e alcuni indirizzi validi possono fallire, soprattutto se utilizzano formati o caratteri meno comuni. Per una validazione completa delle e-mail, spesso si consiglia di utilizzare servizi di validazione delle e-mail o di inviare un'e-mail di conferma all'indirizzo inserito.

Vai per la verifica approfondita dell'email, vai per Bouncer