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 相关文章推荐
用JQuery调用Session的实现代码
Oct 29 Javascript
SharePoint 客户端对象模型 (一) ECMA Script
May 22 Javascript
jQuery实现鼠标划过展示大图的方法
Mar 09 Javascript
javascript实现2016新年版日历
Jan 25 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
Mar 22 Javascript
jquery实现表单获取短信验证码代码
Mar 13 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
Feb 21 Javascript
django使用channels2.x实现实时通讯
Nov 28 Javascript
深入Node TCP模块的理解
Mar 13 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
vue router 跳转时打开新页面的示例方法
Jul 28 Javascript
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
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
图书管理程序(二)
2006/10/09 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
php中this关键字用法分析
2016/12/07 PHP
firefo xml 读写实现js代码
2009/06/11 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
Vue.js最佳实践(五招助你成为vuejs大师)
2018/05/04 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
详解使用scrapy进行模拟登陆三种方式
2021/02/21 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
巧克力蛋糕店创业计划书
2014/01/14 职场文书
市场营销求职信范文
2014/02/21 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
2014小学一年级班主任工作总结
2014/12/05 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书