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 相关文章推荐
jQuery 学习第六课 实现一个Ajax的TreeView
May 17 Javascript
一个关于jqGrid使用的小例子(行按钮)
Nov 04 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
JavaScript检测上传文件大小的方法
Jul 22 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
Vue+Vux项目实践完整代码
Nov 30 Javascript
Vue 创建组件的两种方法小结(必看)
Feb 23 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
Jun 24 Javascript
vue实现路由监听和参数监听
Oct 29 Javascript
Vue中keep-alive的两种应用方式
Jul 15 Javascript
Element Badge标记的使用方法
Jul 27 Javascript
vue $mount 和 el的区别说明
Sep 11 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一些有意思的小区别
2006/12/06 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
php实现的CSS更新类实例
2014/09/22 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
让 python 命令行也可以自动补全
2014/11/30 Python
python 全局变量的import机制介绍
2017/09/07 Python
python实现图片处理和特征提取详解
2017/11/13 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
思想品德课教学反思
2014/02/10 职场文书
灵魂歌王观后感
2015/06/17 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python