53

可能重复:
是否有 JavaScript 函数可以填充字符串以达到确定的长度?

在javascript中左填充字符串的最简单方法是什么?

我正在寻找一个等效于mystr.lpad("0", 4): for will mystr='45'return的内联表达式0045

4

3 回答 3

159

找到了一个简单的单行解决方案:

("0000" + n).slice(-4)

如果字符串和填充在变量中,您将拥有:

mystr = '45'
pad = '0000'
(pad + mystr).slice(-pad.length)

在这里找到答案,感谢@dani-p。感谢@profitehlolz。

于 2012-12-13T14:31:18.237 回答
22
function pad(value, length) {
    return (value.toString().length < length) ? pad("0"+value, length):value;
}
于 2012-12-13T12:09:22.933 回答
9

如下所示:

String.prototype.lpad = function(padString, length) {
    var str = this;
    while (str.length < length)
        str = padString + str;
    return str;
}
console.log('45'.lpad('0', 4)); // "0045"
于 2012-12-13T12:09:34.067 回答