mercoledì 25 settembre 2013

Eliminare gli spazi da una stringa in JavaScript

Problema

Vuoi eliminare gli spazi iniziali e finali da una stringa.

Soluzione

Utilizza il metodo trim:

var stringa_con_spazi = "      ciccio       ";
var stringa_senza_spazi = stringa_con_spazi.trim(); // "ciccio"

Discussione

Questo metodo è stato introdotto in ECMAScript5: prima era necessario utilizzare le espressioni regolari ed il metodo replace per poter effettuare la stessa operazione.

Tutti i browser moderni supportano il metodo trim: l'unica eccezione è Internet Explorer 8. Se dovesse essere necessario supportare questo browser, puoi integrare nel tuo codice una funzione di fallback, tipo la seguente:

if (typeof String.trim === "undefined") {
    String.prototype.trim = function() {
        //(^\s*) -> tutti gli spazi all'inizio, zero o più volte
        //(\s*$) -> tutti gli spazi alla fine, zero o più volte
        return this.replace(/(^\s*)|(\s*$)/g, "");
    }
}

Una volta eseguito questo codice, potrai utilizzare il metodo trim come per ogni altra stringa.

Con ECMAScript5 sono stati introdotti anche i metodi trimLeft e trimRight che eliminano gli spazi a sinistra e a destra, rispettivamente.

Nessun commento :

Posta un commento