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 相关文章推荐
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
Aug 23 Javascript
js data日期初始化的5种方法
Dec 29 Javascript
实例讲解js验证表单项是否为空的方法
Jan 09 Javascript
jQuery实现多级联动下拉列表查询框
Jan 18 Javascript
简单的分页代码js实现
May 17 Javascript
简单的js表格操作
Sep 24 Javascript
react.js CMS 删除功能的实现方法
Apr 17 Javascript
vue父组件中获取子组件中的数据(实例讲解)
Sep 27 Javascript
关于Vue的路由权限管理的示例代码
Mar 06 Javascript
js实现京东秒杀倒计时功能
Jan 21 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
Sep 23 Javascript
详解vue 组件注册
Nov 20 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
Protoss兵种介绍
2020/03/14 星际争霸
php session 预定义数组
2009/03/16 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
PHP文件上传类实例详解
2016/04/08 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
Python命名空间详解
2014/08/18 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
Python中字符串对齐方法介绍
2015/05/21 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
四年级数学教学反思
2014/02/02 职场文书
移交协议书
2014/08/19 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
2015年父亲节寄语
2015/03/23 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
建房合同协议书
2016/03/21 职场文书
Python 内置函数速查表一览
2021/06/02 Python
java版 联机五子棋游戏
2022/05/04 Java/Android