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 相关文章推荐
window.open的页面如何刷新(父页面)上层页面
Dec 28 Javascript
使用变量动态设置js的属性名
Oct 19 Javascript
jquery zTree异步加载简单实例讲解
Feb 25 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Oct 05 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
Jul 17 Javascript
如何编写一个完整的Angular4 FormText 组件
Nov 18 Javascript
vue.js与后台数据交互的实例讲解
Aug 08 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
Jan 27 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
Sep 25 Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 Javascript
vue使用element-ui实现表单验证
Dec 13 Vue.js
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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP文件操作实现代码分享
2011/09/01 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
开启PHP的伪静态模式
2015/12/31 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
javascript arguments使用示例
2014/12/16 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
支付宝小程序tabbar底部导航
2018/11/06 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
浅析使用Python操作文件
2017/07/31 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
开会迟到检讨书
2014/01/08 职场文书
自我鉴定四大框架
2014/01/17 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
Python机器学习之决策树和随机森林
2021/07/15 Javascript