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 相关文章推荐
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 Javascript
js showModalDialog参数的使用详解
Jan 07 Javascript
jQuery中:disabled选择器用法实例
Jan 04 Javascript
jQuery实现带滚动线条导航效果的方法
Jan 30 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
javascript数组排序汇总
Jul 07 Javascript
深入剖析JavaScript:Object类型
May 10 Javascript
分享一个插件实现水珠自动下落效果
Jun 01 Javascript
ionic实现滑动的三种方式
Aug 27 Javascript
JS原生带缩略图的图片切换效果
Oct 10 Javascript
浅析vue-router原理
Oct 19 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 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
一段实用的php验证码函数
2016/05/19 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
php批量修改表结构实例
2017/05/24 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
2013/07/12 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
python爬取淘宝商品详情页数据
2018/02/23 Python
Python中的引用知识点总结
2019/05/20 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
python文件编写好后如何实践
2020/07/07 Python
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
药学专业毕业生求职信
2013/10/20 职场文书
大学四年学习的自我评价分享
2013/12/09 职场文书
人民教师求职自荐信
2014/03/12 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle