jQuery: implementare in modo generico la funzione ucfirst() di PHP

jQuery: implementare in modo generico la funzione ucfirst() di PHP

Nel giugno 2012 avevo scritto un articolo su come implementare la funzione ucfirst() di PHP in jQuery. Tempo fa ho ricevuto una richiesta da parte di un mio lettore che mi chiedeva come mai il plugin creato restituiva un errore sui campi dei form. Il motivo è semplice: il plugin funziona sui nodi di testo, non sulle stringhe in generale. Ecco quindi una nuova versione di questa implementazione, più generica.

Possiamo definire la seguente funzione di utility:


(function($) {

    $.ucfirst = function(str) {

        var text = str;


        var parts = text.split(' '),
            len = parts.length,
            i, words = [];
        for (i = 0; i < len; i++) {
            var part = parts[i];
            var first = part[0].toUpperCase();
            var rest = part.substring(1, part.length);
            var word = first + rest;
            words.push(word);

        }

        return words.join(' ');
    };

})(jQuery);

Ecco un esempio sui campi dei form:


$('#test').blur(function() {
    var value = $(this).val();
    alert($.ucfirst(value));
});

Torna su