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

时间:2017-07-10 10:12:59

标签: javascript angular

这可能是一个非常新手的问题 - 但我无法弄清楚。

我有minlegth 9的输入文字,我必须做这样的事情:

如果用户只输入一个号码,我必须在此号码前添加一些"0"才能达到value.length == 9

Example:
123 => 000000123

我使用Angular 2输入表单和管道来转换结果。

有人可以帮忙吗?

Here我找到了解决方案:

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

感谢大家!

5 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

如果你想要的长度总是静态的(这里是9),这是最简单的方法。



num = [1, 11, 111, 1111, 11111];
for (var i = 0; i < 5; i++) {
  console.log(("000000000" + num[i]).substr(-9,9));
}
&#13;
&#13;
&#13;

希望这有帮助!

答案 2 :(得分:0)

您的方法不是最佳的。

您可以使用Slice()方法将任意内容放入字符串中。

即:

('0' + '').slice(-2)

答案 3 :(得分:0)

function pad(num, size) {
     var s = num+"";
     while (s.length < size) s = "0" + s;
     return s;
}

// usage
pad(123, 9)

答案 4 :(得分:0)

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