Web/JavaScript/Reference/Global objects/String/trimStart
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 '
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);
*/
Specifications
| Specification |
|---|
| ECMAScript (ECMA-262)The definition of ' String.prototype.trimStart' in that specification. |
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.
Update compatibility data on GitHub
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
trimStart
|
Chrome Full support 66 Full support 66 Full support 4 Alternate Name' Uses the non-standard name: |
Edge Full support 12 Full support 12 Alternate Name' Uses the non-standard name: |
Firefox Full support 61 Full support 61 Full support 3.5 Alternate Name' Uses the non-standard name: |
IE
No support No |
Opera Full support 53 Full support 53 Full support 15 Alternate Name' Uses the non-standard name: |
Safari
Full support 12 |
WebView Android Full support 66 Full support 66 Full support ≤37 Alternate Name' Uses the non-standard name: |
Chrome Android Full support 66 Full support 66 Full support 18 Alternate Name' Uses the non-standard name: |
Firefox Android Full support 61 Full support 61 Full support 4 Alternate Name' Uses the non-standard name: |
Opera Android Full support 47 Full support 47 Full support 14 Alternate Name' Uses the non-standard name: |
Safari iOS
Full support 12 |
Samsung Internet Android Full support 9.0 Full support 9.0 Full support 1.0 Alternate Name' Uses the non-standard name: |
nodejs Full support 10.0.0 Full support 10.0.0 Full support 0.12 Alternate Name' Uses the non-standard name: |
Legend
- Full support
- Full support
- No support
- No support
- Uses a non-standard name.'
- Uses a non-standard name.
See also
String.prototype.trimStart() by Mozilla Contributors is licensed under CC-BY-SA 2.5.