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 相关文章推荐
extjs grid取到数据而不显示的解决
Dec 29 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
js 使用form表单select类实现级联菜单效果
Dec 19 Javascript
JS将制定内容复制到剪切板示例代码
Feb 11 Javascript
多个js毫秒倒计时同时进行效果
Jan 05 Javascript
jQuery事件对象的属性和方法详解
Sep 09 jQuery
实现一个完整的Node.js RESTful API的示例
Sep 29 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
May 21 Javascript
基于vue展开收起动画的示例代码
Jul 05 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
May 06 Javascript
Vue中watch、computed、updated三者的区别及用法
Jul 27 Javascript
解决Vue watch里调用方法的坑
Nov 07 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连接Oracle for NT 远程数据库
2006/10/09 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
JS实现放烟花效果
2020/03/10 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
教师批评与自我批评心得体会
2014/10/16 职场文书
储备店长岗位职责
2015/04/14 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android