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中调用WebService方法小结
Mar 28 Javascript
JavaScript的漂亮的代码片段
Jun 05 Javascript
js中回调函数的学习笔记
Jul 31 Javascript
js怎么判断flash swf文件是否加载完毕
Aug 14 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
Sep 24 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
JavaScript中的pow()方法使用详解
Jun 15 Javascript
详解原生js实现offset方法
Jun 15 Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
JS实现电脑虚拟键盘打字测试
Jun 24 Javascript
javascript实现贪吃蛇小练习
Jul 05 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
PHP4和PHP5共存于一系统
2006/11/17 PHP
PHP的面试题集
2006/11/19 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
原生js轮播特效
2017/05/18 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
Python表达式的优先级详解
2020/02/18 Python
在python image 中实现安装中文字体
2020/05/16 Python
python名片管理系统开发
2020/06/18 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
比利时家具购买网站:Home24
2019/01/03 全球购物
自我推荐书
2013/12/04 职场文书
表扬信格式
2014/01/12 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
专业技术职务聘任证明
2015/03/02 职场文书
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
我收到了德劲DE1107
2022/04/05 无线电
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android