限制input框只能输入0~100的正整数

时间:2024-12-19 21:10:48

法一:(复杂)

<input type="number" oninput="if(!/^[0-9]+$/.test(value)) value=(/\D/g,'');if(value>100)value=100;if(value<0)value=null" v-model='testNum'>

核心判断:

oninput="if(!/^[0-9]+$/.test(value)) value=(/\D/g,'');if(value>100)value=100;if(value<0)value=null"

判断语句一共三个if

(1)先用正则判断是否为正整数,如果不是,就用replace方法将非数字的字符替换为为空

(2)判断范围,大于100,就让输入的值直接为100,

(3)小于0,就让输入的值为null

注意:需要将input的type类型设置为number类型,是限制只能输入数字(包含浮点型和整型数据)

法二:(简单)

<input type="number" min='0' max='100' v-model='testNum'>

直接通过设置是三个属性,type、min、max即可,就可以设置0~100的整数

注意:如果想输入浮点型数据,就将min、max 后增加小数位数定义浮点类型数据的输入

<input type="number" min='0.00' max='100.00' v-model='testNum'>

补充:

还有一个属性step,input框可以通过键盘的上下键去增加或者减少input输入的数值,step设置为多少,那么增加或者减少的幅度就是多少。例如:

<input type="number" min='0.00' max='100.00' step='0.1' v-model='testNum'>

step='0.1' 那么通过键盘加减幅度就是0.1

法二有时候会失效,没找到原因~

失效的话就用法一~