vue限制输入框只能输入8位整数和2位小数的代码


Posted in Javascript onNovember 06, 2019

看到这个标题好像很简单,onblur、onchange事件都能做到,但是用户体验感貌似很差。查了下百度查不到资料了。看了下vue的基础,发现 vue 有个 watch 监听器好吧,从这里入手 用v-model 加watch 就可以很简单的实现这一个功能。

----代码省略
<input id="amt" type="number" v-model="amount"/>
----代码省略
data:{
 return{
  amount:""
 }
}
----代码省略
watch:{
 amount(newVal,oldVal){
 console.log(newVal)
 var reg = /^(\d{0,8})(\.(\d{0,2}))?$/g;
 if(!reg.test(newVal)){
  if(newVal == ''){
 this.amount = '';
 return;
  }
  this.amount = oldVal
 }else{
  this.amount = newVal;
 }
 }
}

ps:vue input控制输入框十位整数位两位小数位,其他字符不让输入

<input type="text" placeholder="请输入金额" v-model="orderMoney" @input="checkInput" />

checkInput() {
 this.orderMoney = this.dealInputVal(this.orderMoney);
},
dealInputVal(value) {
  value = value.replace(/^0*(0\.|[1-9])/, "$1");
  value = value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
  value = value.replace(/^\./g, ""); //验证第一个字符是数字而不是字符
  value = value.replace(/\.{1,}/g, "."); //只保留第一个.清除多余的
  value = value
   .replace(".", "$#$")
   .replace(/\./g, "")
   .replace("$#$", ".");
  value = value.replace(/^(\-)*(\d*)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
  value =
   value.indexOf(".") > 0
    ? value.split(".")[0].substring(0, 10) + "." + value.split(".")[1]
    : value.substring(0, 10);
  return value;
 }

总结

以上所述是小编给大家介绍的vue限制输入框只能输入8位整数和2位小数的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
DOM下的节点属性和操作小结
May 14 Javascript
JQuery获取文本框中字符长度的代码
Sep 29 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
浅析在javascript中创建对象的各种模式
May 06 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
Sep 09 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
Jun 11 jQuery
基于iScroll实现下拉刷新和上滑加载效果
Jul 18 Javascript
JavaScript模块模式实例详解
Oct 25 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
Aug 30 Javascript
vue 项目接口管理的实现
Jan 17 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
Jun 15 Javascript
vue绑定class的三种方法
Dec 24 Vue.js
vuex存值与取值的实例
Nov 06 #Javascript
node省市区三级数据性能测评实例分析
Nov 06 #Javascript
vue计算属性无法监听到数组内部变化的解决方案
Nov 06 #Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
Nov 06 #Javascript
vuex state中的数组变化监听实例
Nov 06 #Javascript
element的el-table中记录滚动条位置的示例代码
Nov 06 #Javascript
webpack是如何实现模块化加载的方法
Nov 06 #Javascript
You might like
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
php中文验证码实现方法
2015/06/18 PHP
php排序算法实例分析
2016/10/17 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
JS原型链怎么理解
2016/06/27 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
Vue数据绑定实例写法
2019/08/06 Javascript
python实现随机调用一个浏览器打开网页
2018/04/21 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
Python flask框架端口失效解决方案
2020/06/04 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
Python项目打包成二进制的方法
2020/12/30 Python
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
大学生创业计划书
2014/08/14 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
长江七号观后感
2015/06/11 职场文书
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android