【发布时间】:2021-02-02 06:43:57
【问题描述】:
我必须验证输入字段以仅接受数字和小数,小数点后一位。我能够实现它。我还需要限制输入字段,使其不应超过 100。我为此添加了一个条件,但它失败了。我正在按键上验证这一点,任何人都可以让我知道我哪里出错了。 stackblitz 编辑器链接 - https://stackblitz.com/edit/angular-with-alternative-6zczr4 链接-https://angular-with-alternative-6zczr4.stackblitz.io
代码:- app.component.html
<div class="form-group mr-3">
<p class="mb-0">Accepts Number
</p>
<input type="number" min="0" max="100" (keypress)="numberOnly($event)" class="form-control form-width" name="electricity" [(ngModel)]="electricity">
</div>
app.component.ts
public electricity = "";
numberOnly(event): boolean {
const charCode = event.which ? event.which : event.keyCode;
const value = event.target.value;
if (("" + event.target.value).indexOf(".") !== -1) {
if (("" + event.target.value).split(".")[1].length > 0) {
return false;
}
}
if (event.target.value > 100) {
return false;
}
if (charCode === 46) {
return true;
}
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
【问题讨论】:
标签: javascript html angular keypress