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.

padStart() メソッドは、結果の文字列が指定した長さになるように、現在の文字列を他の文字列で(必要に応じて繰り返して)延長します。延長は、現在の文字列の先頭から適用されます。

試してみましょう

const str1 = "5";

console.log(str1.padStart(2, "0"));
// Expected output: "05"

const fullNumber = "2034399002125581";
const last4Digits = fullNumber.slice(-4);
const maskedNumber = last4Digits.padStart(fullNumber.length, "*");

console.log(maskedNumber);
// Expected output: "************5581"

構文

js
padStart(targetLength)
padStart(targetLength, padString)

引数

targetLength

現在の文字列の延長後に返される文字列の長さです。この値が現在の文字列の長さよりも短い場合、文字列がそのまま返されます。

padString 省略可

現在の文字列を延長するための文字列です。 padStringtargetLength より長い場合は、右からその長さ分が切り捨てられます。 この引数の既定値は、Unicode の「空白」文字 (U+0020) です。

返値

現在の文字列の先頭に padString が適用された、指定された targetLength の長さの String です。

基本的な例

js
"abc".padStart(10); // "       abc"
"abc".padStart(10, "foo"); // "foofoofabc"
"abc".padStart(6, "123465"); // "123abc"
"abc".padStart(8, "0"); // "00000abc"
"abc".padStart(1); // "abc"

数値を固定長文字列へ変換

js
// 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"

仕様書

Specification
ECMAScript® 2025 Language Specification
# sec-string.prototype.padstart

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
padStart

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報