vue element-ui实现input输入框金额数字添加千分位


Posted in Javascript onDecember 29, 2019

在util.js中定义方法

包含金额添加过滤千分位,验证金额格式等

const MoneyTest = /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/;
// 金额添加千分位
const comdify = function (n) {
  if(!n) return n;
  let str = n.split('.');
  let re = /\d{1,3}(?=(\d{3})+$)/g;
  let n1 = str[0].replace(re, "$&,");
  return str.length > 1 && str[1] ? `${n1}.${str[1]}` : `${n1}.00`;
};
//去除千分位中的‘,'
const delcommafy = function (num){
  if(!num) return num;
  num = num.toString();
  num = num.replace(/,/gi, '');
  return num;
};
const valdateFn = function (rule,val,cb) {
  setTimeout(() => {
    if(val) {
      let inputVal = delcommafy(val);
      if (rule.test(inputVal)) {
        cb()
      } else {
        cb('只能是数字金额,最多两位小数')
      }
    }
    cb()
  })
}
// 验证金额数字可以为负数
const moneyValid = function (rule,val,cb) {
  valdateFn(/((^-?[1-9]\d*)|^-?0)(\.\d{0,2}){0,1}$/,val,cb);
};
// 验证金额数字不可以为负数
const moneyNValid = function (rule,val,cb) {
  valdateFn(MoneyTest,val,cb);
};
// 获取输入框的值
const getInputValue = function (el) {
  let inputVal = el.target.value || '';
  return comdify(delcommafy(inputVal));
};

在组件中使用

在template中

<el-input v-model.trim="form.pastAdjustFee" @blur="inputMoney($event,'pastAdjustFee')"></el-input>

在methods中定义

data(){
 return {
 form:{
  pastAdjustFee:''
 }
 }
}
methods:{
 inputMoney(el,name) {
     this.form[name] = getInputValue(el);
   }
}

总结

以上所述是小编给大家介绍的vue element-ui实现input输入框金额数字添加千分位,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Javascript 验证上传图片大小[客户端]
Aug 01 Javascript
提升你网站水平的jQuery插件集合推荐
Apr 19 Javascript
javascript中数组的sort()方法的使用介绍
Dec 18 Javascript
jQuery实现的动态伸缩导航菜单实例
May 07 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
微信小程序 教程之条件渲染
Oct 18 Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
vue + vuex todolist的实现示例代码
Mar 09 Javascript
利用Decorator如何控制Koa路由详解
Jun 26 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
Aug 10 Javascript
详解Bootstrap 学习(一)入门
Apr 12 Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 29 #Javascript
Vue组件通信入门之Provide和Inject机制
Dec 29 #Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
Dec 29 #Javascript
如何基于JavaScript判断图片是否加载完成
Dec 28 #Javascript
Vue页面刷新记住页面状态的实现
Dec 27 #Javascript
uni-app 组件里面获取元素宽高的实现
Dec 27 #Javascript
Vue中axios拦截器如何单独配置token
Dec 27 #Javascript
You might like
人族 TERRAN 概述
2020/03/14 星际争霸
destoon数据库表说明汇总
2014/07/15 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
php提交post数组参数实例分析
2015/12/17 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
JS 面向对象之神奇的prototype
2011/02/26 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
基于zepto.js实现登录界面
2017/10/09 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
python与php实现分割文件代码
2017/03/06 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
django 多数据库及分库实现方式
2020/04/01 Python
Python request使用方法及问题总结
2020/04/26 Python
房屋产权证明书
2014/10/15 职场文书
学习心理学的体会
2014/11/07 职场文书
Golang中interface{}转为数组的操作
2021/04/30 Golang
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫