这可能是一个非常新手的问题 - 但我无法弄清楚。
我有minlegth
9的输入文字,我必须做这样的事情:
如果用户只输入一个号码,我必须在此号码前添加一些"0"
才能达到value.length == 9
Example:
123 => 000000123
我使用Angular 2输入表单和管道来转换结果。
有人可以帮忙吗?
Here我找到了解决方案:
transform(val) {
var standardLength = "000000000";
return (standardLength + val).slice(-standardLength.length);
}
感谢大家!
答案 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;
希望这有帮助!
答案 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));
}