分享下 Javascipt 应用:限制input框只能输入0~100的正整数。小编介绍2种方法,如下:
法一:(复杂) {#heading-0}
<input type="number" oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value>100)value=100;if(value<0)value=null" v-model='testNum'>
核心判断:
oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value>100)value=100;if(value<0)value=null"
判断语句一共三个if
(1)先用正则判断是否为正整数,如果不是,就用replace方法将非数字的字符替换为为空
(2)判断范围,大于100,就让输入的值直接为100,
(3)小于0,就让输入的值为null
注意:需要将input的type类型设置为number类型,是限制只能输入数字(包含浮点型和整型数据)
{#_label1}
法二:(简单) {#heading-1}
<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'>
法二有时候会失效,没找到原因~
失效的话就用法一~