在做购物车功能的时候,前台有一个input给用户输入商品的数量,控制在1~999的范围.
<el-input v-model="form.quantity" placeholder="请输入商品数量"
type="number" :max="999" />
type="number" 就可以使输入的值为数字,其他无法输入(但是仍然可以输入小数点)
:max="999" 并没有效果,超过999还是可以继续输入
要控制输入只能为正整数并且不能大于999
οninput="if (value > 999) value = value.slice(0, 3); value=value.replace(/^0|[^0-9]/g,'')"
<el-input v-model="form.quantity" placeholder="请输入商品数量" type="number"
oninput="if (value > 999) value = value.slice(0, 3); value=value.replace(/^0|[^0-9]/g,'')"/>
value=value.replace(/^0|[^0-9]/g,''): 将输入框中的值限制为只能输入数字,并且去掉开头的0
^0
:表示以0开头的字符;[^0-9]
:表示非数字字符。
if (value > 999) value = value.slice(0, 3); 输入超过4位,如果数字大于999则无法输入(取前面3位)
oninput 可以加多个判断条件,达到你想要控制的数字范围