首页 > 解决方案 > HTML 用户输入类型限制

问题描述

限制:

无法输入负数、十进制数、数字 < 2 和数字 > 99

到目前为止,我有:

<input required type="number" min="2" max="99" oninput="this.value = Math.abs(this.value)" maxLength="2" matInput value="{{element[col]}}" [(ngModel)]="element[col]">

它限制用户只能输入负数。

我可以用函数验证,但我需要限制输入。

请分享一些想法,因为我是第一次编程前端。

标签: javascripthtmlangular

解决方案


我认为您正在寻找的解决方案是:

<input required type="number" min="2" max="99" oninput="validity.valid||(value='');" maxLength="2" matInput value="{{element[col]}}" [(ngModel)]="element[col]">

但我猜它会丢失之前的输入。为此,您需要在组件中维护一个状态变量并恢复之前的值。


推荐阅读