String.prototype.padStart()

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

構文

str.padStart(targetLength [, padString])

引数

targetLength
現在の str の延長後に返される文字列の長さです。この値が str.length よりも短い場合、 str がそのまま返されます。
padString Optional
現在の str を延長するための文字列です。 padStringtargetLength より長い場合は、右からその長さ分が切り捨てられます。この引数の既定値は、 " " (U+0020 'SPACE') です。

返値

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

基本的な例

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

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

// 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));
// expected output: "00123"

仕様書

仕様書
ECMAScript (ECMA-262)
String.prototype.padStart の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
padStartChrome 完全対応 57Edge 完全対応 15Firefox 完全対応 48IE 未対応 なしOpera 完全対応 44Safari 完全対応 10WebView Android 完全対応 57Chrome Android 完全対応 57Firefox Android 完全対応 48Opera Android 完全対応 43Safari iOS 完全対応 10Samsung Internet Android 完全対応 7.0nodejs 完全対応 8.0.0
完全対応 8.0.0
完全対応 7.0.0
無効
無効 From version 7.0.0: this feature is behind the --harmony runtime flag.

凡例

完全対応  
完全対応
未対応  
未対応
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報