String.prototype.padStart()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.
The padStart()
method of String
values pads this string with another string (multiple times, if needed) until the resulting
string reaches the given length. The padding is applied from the start of this string.
Try it
Syntax
padStart(targetLength)
padStart(targetLength, padString)
Parameters
targetLength
-
The length of the resulting string once the current
str
has been padded. If the value is less than or equal tostr.length
, thenstr
is returned as-is. padString
Optional-
The string to pad the current
str
with. IfpadString
is too long to stay within thetargetLength
, it will be truncated from the end. The default value is the unicode "space" character (U+0020).
Return value
A String
of the specified targetLength
with
padString
applied from the start.
Examples
Basic examples
"abc".padStart(10); // " abc"
"abc".padStart(10, "foo"); // "foofoofabc"
"abc".padStart(6, "123465"); // "123abc"
"abc".padStart(8, "0"); // "00000abc"
"abc".padStart(1); // "abc"
Fixed width string number conversion
// JavaScript version of: (unsigned)
// printf "%0*d" width num
function leftFillNum(num, targetLength) {
return num.toString().padStart(targetLength, "0");
}
const num = 123;
console.log(leftFillNum(num, 5)); // "00123"
Specifications
Specification |
---|
ECMAScript Language Specification # sec-string.prototype.padstart |
Browser compatibility
BCD tables only load in the browser