jQuery: generare un codice univoco dall'input utente

jQuery: generare un codice univoco dall'input utente

Come generare un codice univoco a partire dall'input utente? Possiamo creare un'unica stringa dai vari campi compilati dall'utente (nome, e-mail eccetera) e quindi estrapolare dei caratteri casuali da tale stringa e assemblare una nuova stringa con il codice restituito. Vediamo come ottenere questo risultato con jQuery.

Dobbiamo innanzitutto implementare la funzione che genera il codice:


var generateCode = function(str) {
    var $length = 8;
    var $code = '';
    for (var i = 0; i < $length; i++) {

        $code += str[Math.floor(Math.random() * (str.length - 1))];

    }

    return $code;

}

Il metodo random() genera un indice casuale con cui estrarre i caratteri dalla stringa di input. Per funzionare è necessario che il suo valore venga approssimato e moltiplicato per la lunghezza della stringa di input meno 1 carattere.

Quindi possiamo raccogliere i valori di input in questo modo:


$('#test').submit(function(e) {
    e.preventDefault();
    var $str = '';
    $('input[type="text"]', '#test').each(function() {
        $str += $(this).val();
    });

    var code = generateCode($str);
    alert(code);
});

Potete visionare l'esempio finale in questa pagina.

Torna su