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 解析后的xml对象的读取方法细解
Jul 25 Javascript
JavaScript Event学习第十章 一些可替换的事件对
Feb 10 Javascript
JavaScript对象链式操作代码(jquery)
Jul 04 Javascript
使用Post提交时须将空格转换成加号的解释
Jan 14 Javascript
js函数排序的实例代码
Jul 01 Javascript
深入浅析Node.js单线程模型
Jul 10 Javascript
解决循环中setTimeout执行顺序的问题
Jun 20 Javascript
基于node简单实现RSA加解密的方法步骤
Mar 21 Javascript
vue+iview/elementUi实现城市多选
Mar 28 Javascript
vue+element实现表格新增、编辑、删除功能
May 28 Javascript
JS内置对象和Math对象知识点详解
Apr 03 Javascript
jquery插件实现悬浮的菜单
Apr 24 jQuery
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分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
Zend的MVC机制使用分析(一)
2013/05/02 PHP
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
js实现菜单跳转效果
2020/12/11 Javascript
python实现井字棋游戏
2020/03/30 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
python 中split 和 strip的实例详解
2017/07/12 Python
简单了解python模块概念
2018/01/11 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
Python测试模块doctest使用解析
2019/08/10 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
查环查孕证明
2014/01/10 职场文书
大学校园招聘会感想
2015/08/10 职场文书
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python
Golang 入门 之url 包
2022/05/04 Golang