用前导零填充输入
fill input with leading zeros
我遇到了麻烦,但找不到正确的方法。我用掩码=“0000000000”,但他没有回答我。我有一个最多允许 10 个数字的输入,例如:1234256896,即 10 个元素。如果用户输入 12345,我必须在左边再添加 5 个零,因为他需要完成 10 个数字,结果将是这样的:0000012345。如果用户输入 123,他将不得不再添加 7 个零到左边。
要获得前导零,请使用 javascript 中的数组 slice() 方法。
function getNumberWithLeadingZero(number) {
if (number<=9999999999) {
number = ("0000000000"+number).slice(-10);
}
return number;
}
这将 return 带有前导零的数字。
console.log(getNumberWithLeadingZero(126534));
这将 return 字符串 "0000126534"
。您可以使用方法 parseInt()
恢复为初始数字
number = parseInt(number)
您可以使用
实现输入标签的 focusout
事件和 format
值
TS代码
format() {
this.mynumber = this.padLeft(this.mynumber, "0", 10);
}
padLeft(text: string, padChar: string, size: number): string {
return (String(padChar).repeat(size) + text).substr(size * -1, size);
}
HTML
<input type="text" [(ngModel)]="mynumber" (focusout)="format()">
演示 https://stackblitz.com/edit/angular-format-number-leading-0
我遇到了麻烦,但找不到正确的方法。我用掩码=“0000000000”,但他没有回答我。我有一个最多允许 10 个数字的输入,例如:1234256896,即 10 个元素。如果用户输入 12345,我必须在左边再添加 5 个零,因为他需要完成 10 个数字,结果将是这样的:0000012345。如果用户输入 123,他将不得不再添加 7 个零到左边。
要获得前导零,请使用 javascript 中的数组 slice() 方法。
function getNumberWithLeadingZero(number) {
if (number<=9999999999) {
number = ("0000000000"+number).slice(-10);
}
return number;
}
这将 return 带有前导零的数字。
console.log(getNumberWithLeadingZero(126534));
这将 return 字符串 "0000126534"
。您可以使用方法 parseInt()
number = parseInt(number)
您可以使用
实现输入标签的focusout
事件和 format
值
TS代码
format() {
this.mynumber = this.padLeft(this.mynumber, "0", 10);
}
padLeft(text: string, padChar: string, size: number): string {
return (String(padChar).repeat(size) + text).substr(size * -1, size);
}
HTML
<input type="text" [(ngModel)]="mynumber" (focusout)="format()">
演示 https://stackblitz.com/edit/angular-format-number-leading-0