The trimStart() method removes whitespace from the beginning of a string. trimLeft() is an alias of this method.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
str.trimStart(); str.trimLeft();
Return value
A new string representing the calling string stripped of whitespace from its beginning (left end).
Description
The trimStart() / trimLeft() methods return the string stripped of whitespace from its left end. trimLeft() or trimStart() do not affect the value of the string itself.
Aliasing
For consistency with functions like String.prototype.padStart the standard method name is trimStart. However, for web compatibility reasons, trimLeft remains as an alias to trimStart. In some engines this means:
String.prototype.trimLeft.name === "trimStart";
Examples
Using trimStart()
The following example displays the lowercase string 'foo ':
var str = ' foo '; console.log(str.length); // 8 str = str.trimStart(); console.log(str.length); // 5 console.log(str); // 'foo '
Specifications
| Specification | Status | Comment |
|---|---|---|
String.prototype.{trimStart,trimEnd} proposal |
Stage 4 | Expected to be part of ES2019 |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
trimStart | Chrome
Full support
66
| Edge ? | Firefox
Full support
61
| IE No support No | Opera Full support 53 | Safari ? | WebView Android
Full support
66
| Chrome Android
Full support
66
| Firefox Android
Full support
61
| Opera Android Full support 47 | Safari iOS ? | Samsung Internet Android
Full support
Yes
| nodejs
Full support
10.0.0
|
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Uses a non-standard name.
- Uses a non-standard name.
Polyfill
//https://github.com/FabioVergani/js-Polyfill_String-trimStart
(function(w){
var String=w.String, Proto=String.prototype;
(function(o,p){
if(p in o?o[p]?false:true:true){
var r=/^\s+/;
o[p]=o.trimLeft||function(){
return this.replace(r,'')
}
}
})(Proto,'trimStart');
})(window);
/*
ES6:
(w=>{
const String=w.String, Proto=String.prototype;
((o,p)=>{
if(p in o?o[p]?false:true:true){
const r=/^\s+/;
o[p]=o.trimLeft||function(){
return this.replace(r,'')
}
}
})(Proto,'trimStart');
})(window);
*/