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 相关文章推荐
Wordpress ThickBox 点击图片显示下一张图的修改方法
Dec 11 Javascript
javascript 获取HTML DOM父、子、临近节点
Jun 16 Javascript
javascript检测浏览器的缩放状态实现代码
Sep 28 Javascript
javascript动态创建表格及添加数据实例详解
May 13 Javascript
javascript自定义右键弹出菜单实现方法
May 25 Javascript
简单谈谈node.js 版本控制 nvm和 n
Oct 15 Javascript
微信小程序 loading(加载中提示框)实例
Oct 28 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
Nov 02 Javascript
Javascript使用SWFUpload进行多文件上传
Nov 16 Javascript
VUE元素的隐藏和显示(v-show指令)
Jun 23 Javascript
详解用async/await来处理异步
Aug 28 Javascript
vue视频播放暂停代码
Nov 08 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
php文本转图片自动换行的方法
2013/03/13 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
php ios推送(代码)
2013/07/01 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
JS链式调用的实现方法
2013/03/07 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
js中的push和join方法使用介绍
2013/10/08 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
WWE美国职业摔角官方商店:WWE Shop
2018/11/15 全球购物
企划主管岗位职责
2013/12/12 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
关于运动会广播稿300字
2014/10/05 职场文书
mysql 子查询的使用
2022/04/28 MySQL