vue 限制input只能输入正数的操作


Posted in Javascript onAugust 05, 2020

在某些项目中 input 框只能输入数字,可以用以下办法:

先在标签上绑定上 @input 事件来监听标签的值变化,通过正则来改变输入的值。

<input
  class="keep_input"
  v-number-only
  style="width:35px"
  v-model="scope.row.fileOrder"
  @input="scope.row.fileOrder = Number($event.target.value.replace(/\D+/, ''))"
 />

第二部封装个自定义指令放在标签上!

directives: {
  numberOnly: {
   bind: function(el) {
    el.handler = function() {
     el.value = Number(el.value.replace(/\D+/, ''))
    }
    el.addEventListener('input', el.handler)
   },
   unbind: function(el) {
    el.removeEventListener('input', el.handler)
   }
  }
 },

接下来就可以去页面看效果了,只能输入数字且只是正数!

附上 element 的 input 样式代码

.keep_input {
  -webkit-appearance: none;
  background-color: #fff;
  background-image: none;
  border-radius: 4px;
  border: 1px solid #dcdfe6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #606266;
  display: inline-block;
  font-size: inherit;
  outline: 0;
  padding: 0 15px;
  -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  height: 30px;
  line-height: 30px;
  text-align: left;
 }
 .keep_input:focus {
  border-color: #54a6de;
  outline: 0;
 }

补充知识:记录el-input type=number限制长度el-input使用

如下所示:

<el-input type="number"
 oninput="if(value.length>10)value=value.slice(0,10)"
 @keyup.enter.native="query()"
 onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))"
 :max="99999999">
 </el-input>

oninput 是个自定义事件 在事件里面获取输入的数字长度,来进行判断如果大于规定长度就进行剪切。

keyup.enter.native 是个键盘回车事件,当按下Enter键时触发query()事件。

max为输入框的最大值,如果input的type=number那么输入框内是输入不了字符的。

number框 解决输入e的问题

主要原因是:e在数学上代表的是无理数,是一个无限不循环的小数,其值约为2.7182818284,所以在输入e的时候,输入框会把e当成一个数字看待。

可以采用下面的方式来避免这个BUG,在input标签中添加如下属性:

onKeypress=“return(/[\d.]/.test(String.fromCharCode(event.keyCode)))”

<el-input placeholder="请输入密码" v-model="input" :show-password="true"></el-input>

show-password 加上这个属性输入字符进行隐藏一般用于密码框使用

记录问题!

以上这篇vue 限制input只能输入正数的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
Jan 23 Javascript
JS 数字转换研究总结
Dec 26 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
Mar 05 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
14个有用的Jquery技巧分享
Jan 08 Javascript
jQuery.position()方法获取不到值的安全替换方法
Mar 13 Javascript
js实现选中复选框文字变色的方法
Aug 14 Javascript
jquery 中toggle的2种用法详解(推荐)
Sep 02 Javascript
JS得到当前时间的方法示例
Mar 24 Javascript
JS ES6中setTimeout函数的执行上下文示例
Apr 27 Javascript
JS中的BOM应用
Feb 02 Javascript
Vue使用localStorage存储数据的方法
May 27 Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 #Javascript
vue data变量相互赋值后被实时同步的解决步骤
Aug 05 #Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
Aug 05 #Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 #Javascript
js实现简单选项卡制作
Aug 05 #Javascript
vue 内联样式style中的background用法说明
Aug 05 #Javascript
vue flex 布局实现div均分自动换行的示例代码
Aug 05 #Javascript
You might like
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
用Juery网页选项卡实现代码
2011/06/13 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
nodejs aes 加解密实例
2018/10/10 NodeJs
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
python聊天程序实例代码分享
2013/11/18 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
python3实现UDP协议的服务器和客户端
2017/06/14 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
应用艺术专业个人的自我评价
2014/01/03 职场文书
投标保密承诺书
2014/05/19 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
优秀教师事迹材料
2014/12/15 职场文书
遗失说明具结保证书
2015/02/26 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
交通事故责任认定书
2015/08/06 职场文书
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
MySQL实现配置主从复制项目实践
2022/03/31 MySQL
浅析Python OpenCV三种滤镜效果
2022/04/11 Python