翼度科技»论坛 编程开发 JavaScript 查看内容

JS限制input框只能输入0~100的正整数的两种方法

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
法一:(复杂)
  1. <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'>
复制代码
核心判断:
  1. 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
  1. <strong>注意:</strong>需要将input的type类型设置为<strong>number类型,是限制只能输入数字(包含浮点型和整型数据)</strong>
复制代码
法二:(简单)
  1. <input type="number" min='0' max='100' v-model='testNum'>
复制代码
直接通过设置是三个属性,type、min、max即可,就可以设置0~100的整数
注意:如果想输入浮点型数据,就将min、max 后增加小数位数定义浮点类型数据的输入
  1. <input type="number" min='0.00' max='100.00' v-model='testNum'>
复制代码
补充:
还有一个属性step,input框可以通过键盘的上下键去增加或者减少input输入的数值,step设置为多少,那么增加或者减少的幅度就是多少。例如:
  1. <input type="number" min='0.00' max='100.00' step='0.1' v-model='testNum'>
复制代码
step='0.1' 那么通过键盘加减幅度就是0.1

法二有时候会失效,没找到原因~
失效的话就用法一~
到此这篇关于JS限制input框只能输入0~100的正整数的文章就介绍到这了,更多相关input框限制输入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/javascript/316245lbw.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具