Web/JavaScript/Reference/Global objects/String/trimStart

From Get docs


The trimStart() method removes whitespace from the beginning of a string. trimLeft() is an alias of this method.


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

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
trimStart

Chrome Full support 66


Full support 66


Full support 4

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

Edge Full support 12

Alternate Name'

Full support 12

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

Firefox Full support 61


Full support 61


Full support 3.5

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

IE

No support No

Opera Full support 53


Full support 53


Full support 15

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

Safari

Full support 12

WebView Android Full support 66


Full support 66


Full support ≤37

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

Chrome Android Full support 66


Full support 66


Full support 18

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

Firefox Android Full support 61


Full support 61


Full support 4

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

Opera Android Full support 47


Full support 47


Full support 14

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

Safari iOS

Full support 12

Samsung Internet Android Full support 9.0


Full support 9.0


Full support 1.0

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

nodejs Full support 10.0.0


Full support 10.0.0


Full support 0.12

Alternate Name'

Alternate Name' Uses the non-standard name: trimLeft

Legend

Full support  
Full support
No support  
No support
Uses a non-standard name.'
Uses a non-standard name.


See also