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 相关文章推荐
JavaScript面向对象编程
Mar 02 Javascript
一个简单的JavaScript数据缓存系统实现代码
Oct 24 Javascript
jQuery常用操作方法及常用函数总结
Jun 19 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
Mar 23 Javascript
js全选按钮的实现方法
Nov 17 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
关于jQuery里prev()的简单操作代码
Oct 27 jQuery
JS实现验证码倒计时的注册页面
Jan 02 Javascript
JS处理一些简单计算题
Feb 24 Javascript
生产制造追溯系统之在线打印功能
Jun 03 Javascript
Vue.js实现tab切换效果
Jul 24 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
Apr 23 Javascript
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中检查文件或目录是否存在的代码小结
2012/10/22 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
PHP实现图片旋转效果实例代码
2014/10/01 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
jQuery使用方法
2017/02/04 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
2017/06/08 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
django的登录注册系统的示例代码
2018/05/14 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
python tornado修改log输出方式
2019/11/18 Python
python打印异常信息的两种实现方式
2019/12/24 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
秘书英文求职信范文
2014/01/31 职场文书
个人自我评价范文
2014/02/05 职场文书
土地转让协议书
2014/04/15 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
调任通知
2015/04/21 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
怎样写观后感
2015/06/19 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
2021/06/09 Python