Hva er en ren og effektiv JavaScript-implementering for å fjerne ledende og etterfølgende mellomrom fra en streng?
For eksempel:
" hund"
"hund"
" hund "
" hund "`
"hund "
" hund "`
blir alle omgjort til
"hund"
Bruk denne:
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
Trim-funksjonen vil nå være tilgjengelig som en førsteklasses funksjon på strengene dine. For eksempel:
" dog".trim() === "dog" //true
EDIT: Fulgte J-P's forslag om å kombinere regex-mønstrene til ett. La også til den globale modifikatoren i henhold til Christoph's forslag.
Tok Matthew Crumleys's idé om å sniffe på trim-funksjonen før den gjenskapes. Dette gjøres i tilfelle JavaScript-versjonen som brukes på klienten, er nyere og derfor har sin egen, opprinnelige trim-funksjon.
Steven Levithan skrev en gang om hvordan man implementerer en Faster JavaScript Trim. Det er absolutt verdt en titt.