jQuery: creare uno username da un indirizzo e-mail: problematiche

Uno dei tanti modi per generare username è quello di utilizzare lo username presente in un indirizzo e-mail. Questa tecnica non è tuttavia sufficiente per garantire l'unicità di un nome utente, in quanto potrebbero esistere nomi utente identici ma su domini diversi. Comunque sia, vale la pena di spiegarne l'implementazione con jQuery.

Un indirizzo e-mail come mario.rossi@dominio.it presenta lo username ed il dominio di posta elettronica separati dal carattere chiocciola. Possiamo quindi separare lo username ed il dominio utilizzando questo carattere.

Inoltre, tramite espressioni regolari, possiamo ad esempio fare in modo che lo username contenga solo i caratteri che vogliamo (ad esempio lettere e numeri):


var createUserName = function(value) {
    var parts = value.split('@');
    var user = parts[0];
    var username = user.replace(/[^a-z\d]+/ig, '');
    return username;
};

Ecco un esempio pratico:


$('#test').submit(function(e) {
    e.preventDefault();
    var $value = $('#email').val();
    var $username = createUserName($value);
    alert($username);
});​

Nota

La generazione degli username da parte del sito presenta diverse difficoltà. Abbiamo già citato il problema della unicità. Vale anche la pena ricordare che la soluzione migliore è quella di lasciare che sia l'utente a scegliere il suo username. Noi possiamo intervenire durante questa scelta obbligando l'utente ad usare una determinata combinazione di caratteri per aumentare la sicurezza.

Potete visionare l'esempio finale in questa pagina.

Torna su