String.prototype.padStart()
padStart() 方法用于 String 值的开头填充,以达到指定的长度。如果字符串的现有长度加上填充的字符串长度,超过了指定的长度,那么填充的字符串可能会被截断。填充会从字符串的开头进行。
试一试
const str = "5";
console.log(str.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-
目标字符串的长度,即经过填充后的字符串的长度。如果此值小于或等于当前字符串
str的长度,则当前字符串str会被原样返回。 padString可选-
用于填充当前字符串
str的字符串。如果padString太长而无法在targetLength内保持,它将被截断。默认值为一个空格字符 (U+0020)。
返回值
一个长度为指定 targetLength 的 String,其中 padString 已从开头进行了填充。
示例
使用 String.prototype.padStart()
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"
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-string.prototype.padstart |
浏览器兼容性
加载中…