String.prototype.padStart()

Метод padStart() (підбити з початку) значень String підбиває свій рядок значенням переданого рядка (повторюючи його, якщо необхідно) таким чином, що довжина рядка в результаті збільшується до вказаного значення. Підбивання відбувається від початку рядка, якому належить метод.

Спробуйте його в дії

Синтаксис

padStart(targetLength)
padStart(targetLength, padString)

Параметри

targetLength

Довжина поверненого рядка після того, як поточний рядок str було підбито. Якщо вказане значення менше або рівне str.length, то буде повернено вихідний рядок, як є.

padString Необов'язкове

Рядок, яким підбивається початковий str. Якщо padString задовгий і виходить за межі targetLength — він буде обрізаний. Для мов з режимом письма зліва направо буде вставлено лівий кінець, а для мов з письмом справа наліво — правий. Усталене значення цього параметру — символ пробілу в Unicode (U+0020).

Повернене значення

Рядок вказаної параметром targetLength довжини, зі вмістом рядка padString, вставленим на початку вихідного рядка.

Приклади

Базове застосування

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

Перетворення чисел на рядки фіксованої довжини

// JavaScript-версія виразу: (беззнакового)
// printf "%0*d" з числом
function leftFillNum(num, targetLength) {
  return num.toString().padStart(targetLength, "0");
}

const num = 123;
console.log(leftFillNum(num, 5)); // "00123"

Специфікації

Сумісність із браузерами

desktop mobile server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet Deno Node.js
padStart
Chrome Full support 57
Edge Full support 15
Firefox Full support 48
Internet Explorer No support No
Opera Full support 44
Safari Full support 10
WebView Android Full support 57
Chrome Android Full support 57
Firefox for Android Full support 48
Opera Android Full support 43
Safari on iOS Full support 10
Samsung Internet Full support 7.0
Deno Full support 1.0
Node.js Full support 8.0.0

Дивіться також