So che ci sono un sacco di domande su qui circa la convalida e-mail e RegEx specifiche di. Mi piacerebbe sapere quali sono le migliori pratiche sono per la convalida e-mail rispetto ad avere la [email protected]
trick (details here). Il mio attuale RegExp per la convalida JavaScript è la seguente, ma non supporta l'extra +
nel manico:Best practice per la convalida indirizzo di posta elettronica (compreso il + in indirizzi gmail)
/^([a-zA-Z0-9_.-])[email protected](([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/
Ci sono altri servizi che supportano l'extra +
? Devo consentire a un +
l'indirizzo o dovrei alterare il RegEx per consentire solo per una e-mail con gmail.com
o googlemail.com
come il dominio? In tal caso, quale sarebbe la RegEx modificata?
UPDATE: Grazie a tutti per aver ricordato che +
è valido per le specifiche. Non lo sapevo e ora lo faccio per il futuro. Per quelli di voi che dicono che è male persino usare una RegEx per validarla, la mia ragione è completamente basata su un design creativo che sto costruendo. Il design del nostro cliente inserisce un segno di spunta verde o una X rossa accanto all'input dell'indirizzo e-mail in sfocatura. Quell'icona indica se è un indirizzo email valido, quindi devo usare un po 'di JS per convalidarlo.
E 'certo un trucco quando è parte dello standard di posta elettronica. – tloach
Non utilizzare RegEx per la convalida della posta elettronica, oltre a rilevare errori di crittografia ovvi. Basta inviare all'utente un messaggio di posta elettronica con un link di "attivazione". Non ci sono regex di foolproog per la convalida della posta elettronica. Almeno nessuno che si adatti a un foglio di carta A4, anche se stampato in un font minuscolo, ma leggibile ;-) (http://www.regular-expressions.info/email.html) – Duroth
@tloach Lo considero un trucco se non tutti i servizi di posta elettronica lo supportano in un modo che invia l'e-mail alla prima parte dell'handle prima di '+' a prescindere dalla parte dopo '+' - non ero nemmeno consapevole che facesse parte dello standard. –