L'email di solito è una buona cosa come nome utente perché:
- l'utente lo ricorda;
- è univoco in tutto il mondo, semplificando così la gestione delle collisioni (se un utente desidera utilizzare lo stesso nome di accesso di un altro, allora uno di loro ha fatto un errore);
- può essere abbinato a un sistema di "verifica della posta elettronica" che è comodo se si desidera che il server sia in grado di contattare gli utenti in caso di emergenza.
Nominalmente, almeno la metà destra dell'indirizzo email (il nome del dominio, dopo il segno "@") non fa distinzione tra maiuscole e minuscole, quindi dovresti normalizzare quella parte in lettere minuscole, il che è facile, dal momento che dovrebbe essere un nome di dominio valido, quindi limitato a un sottoinsieme di ASCII (Nota: si vorrà fare attenzione a utilizzare ciò che .NET chiama cultura invariante e termini Java impostazioni locali root ; in caso contrario, il tuo codice verrà interrotto in Turchia).
Per quanto riguarda la sinistra, la distinzione tra maiuscole e minuscole dipende dal sito ricevente. La maggior parte dei siti non fa distinzione tra maiuscole e minuscole anche per quella parte e sembra "ragionevole" eseguire la normalizzazione in lettere minuscole, perché è improbabile che un determinato sito utilizzi entrambi i distinzione tra maiuscole e minuscole. che [email protected]
e [email protected]
sono entrambi indirizzi validi per due Bob diversi). Quindi, suggerisco la normalizzazione minuscola dell'intero indirizzo per scopi di confronto (cioè per decidere quale utente stiamo parlando); ma mantieni l'indirizzo "così com'è" se vuoi mai inviare una email all'utente, o anche se vuoi mostrarlo all'utente (es. come esempio di benvenuto, Bob @. com "banner - Bob potrebbe essere piuttosto affezionato alla sua" B "maiuscola).
Informazioni sul segno "+": Dal tuo punto di vista, fa parte dell'indirizzo. Questo "+" viene gestito su alcuni siti come un modo per ciascun utente di generare molti indirizzi funzionalmente equivalenti: Bob sarà in grado di utilizzare [email protected]
, [email protected]
, [email protected]
... tutte le e-mail inviate a qualsiasi questi indirizzi finiscono nella casella di posta di Bob, ma, agli occhi di Bob, sono ancora indirizzi distinti che Bob scrive come tali. Bob si aspetta che gli indirizzi siano considerati distinti. Quindi la tua gestione del "+" dipende da cosa vuoi veramente:
- Se desideri semplicemente un "nome di accesso" univoco in modo che la gestione delle collisioni sia facile, allora lascia l'indirizzo "così com'è"; non fare nulla di speciale con il "+".
- Se vuoi forzare l'unicità degli account per utente umano (ovvero non vuoi che Bob sia in grado di creare un milione di account distinti), potresti voler rimuovere i caratteri da "+ "accedi al segno" @ ", di nuovo disponibile per scopi di confronto. Ma non credere che questa regola scoraggerà la maggior parte dei Bob; ottenere milioni di indirizzi email senza "+" è facile ed economico (il modo migliore è comprare un dominio e noleggiare un server per ospitarlo).
Riepilogo: mantiene l'indirizzo inserito al momento della registrazione e lo usa "così com'è" per la visualizzazione e l'invio di e-mail. Per i confronti (ovvero, localizzando la voce utente nella tabella degli utenti, ad esempio dopo l'accesso), normalizza l'email in caratteri minuscoli (con una cultura invariabile).