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 相关文章推荐
通过继承IHttpHandle实现JS插件的组织与管理
Jul 13 Javascript
JS实现随机数生成算法示例代码
Aug 08 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
javascript实现textarea中tab键的缩排处理方法
Jun 26 Javascript
解析JavaScript数组方法reduce
Dec 12 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
Mar 10 Javascript
Vuex入门到上手教程
Jun 20 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
Jun 22 Javascript
详解如何用typescript开发koa2的二三事
Nov 13 Javascript
JavaScript递归函数定义与用法实例分析
Jan 24 Javascript
vue实现路由懒加载及组件懒加载的方式
Jun 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
用JavaScript显示随机图像或引用
2009/04/21 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
javascript闭包入门示例
2014/04/30 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
Python 结巴分词实现关键词抽取分析
2017/10/21 Python
python递归全排列实现方法
2018/08/18 Python
Python pymongo模块常用操作分析
2018/09/01 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
Python上下文管理器全实例详解
2019/11/12 Python
Python利用命名空间解析XML文档
2020/08/10 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
静态变量和实例变量的区别
2015/07/07 面试题
无工作经验者个人求职信范文
2013/12/22 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
车间统计员岗位职责
2015/04/14 职场文书
Python爬取某拍短视频
2021/06/11 Python
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis