JavaScript non ha la funzione trim (come in C#) che permette di eliminare gli spazi all'inizio e alla fine di una stringa.
E' possibile implementarla tramite questa Regular Expression /^\s+|\s+$/g e il metrodo replace:

JavaScript

var s = "   asf d "
s.replace(/^\s+|\s+$/g,""); 
da come risultato:

Text

asf d
con la stessa tecnica possiamo eliminare gli spazi solo all'inizio della stringa (trimStart):

JavaScript

s.replace(/^\s+/g,""); 
o alla fine (trimEnd):

JavaScript

s.replace(/\s+$/g,"");  

Possiamo anche estendere l'oggetto string per aggiungere i metodi trim, trimStart e trimEnd:

JavaScript

if(!String.prototype.trim) {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
  };
}
if(!String.prototype.trimStart) {
  String.prototype.trimStart= function() {
    return this.replace(/^\s+/g,"*");
  };
}
if(!String.prototype.trimEnd) {
  String.prototype.trimEnd = function() {
    return this.replace(/\s+$/g,"");
  };
}
che possiamo usare direttamente sulla stringa:

JavaScript

s.trim(); 
// "   asf d "
s.trimStart(); 
// "asf d "
s.trimEnd(); 
// "   asf d"
il test !String.prototype.<nome> permette di creare il metodo solo se NON esiste.
Se il browser lo implementa manteniamo la sua versione.
Tags:
HTML74 JavaScript184 Regular Expression10
Potrebbe interessarti anche: