Javascript 如何在输入值之前递归地添加数字

Javascript 如何在输入值之前递归地添加数字,javascript,angular,Javascript,Angular,这可能是个新手问题,但我想不出来 我有一个带有minlegth9的输入文本,我必须这样做: 如果用户只键入一个数字,我必须在此数字之前添加一些“0”,以达到value.length==9 Example: 123 => 000000123 我使用Angular 2输入表单和管道来转换结果 有人能帮忙吗 我找到了解决方案: transform(val) { var standardLength = "000000000"; return (standard

这可能是个新手问题,但我想不出来

我有一个带有
minlegth
9的输入文本,我必须这样做:

如果用户只键入一个数字,我必须在此数字之前添加一些
“0”
,以达到
value.length==9

Example:
123 => 000000123
我使用Angular 2输入表单和管道来转换结果

有人能帮忙吗


我找到了解决方案:

transform(val) {
        var standardLength = "000000000";
        return (standardLength + val).slice(-standardLength.length);
    }
谢谢大家

number=("0".repeat(9)+number).substr(-9);

只需将其应用于更改时的输入值。

如果您想要的长度始终是静态的(这里是9),这是最简单的方法

num=[1,11,11111111111];
对于(变量i=0;i<5;i++){
log(((“000000000”+num[i]).substr(-9,9));

}
您的方法不是最佳的

您可以使用
Slice()
方法将任何需要的内容放入字符串中

即:

功能板(数量、大小){
var s=num+“”;
而(s.length
显示您迄今为止尝试的代码?可能重复的可能重复的
('0' + '').slice(-2)
function pad(num, size) {
     var s = num+"";
     while (s.length < size) s = "0" + s;
     return s;
}

// usage
pad(123, 9)
transform(val){
    let zeros = "000000000";
    return zeros.concat(val).slice(Math.min(val.toString().length * -1,-9));
}