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 相关文章推荐
HTML5之lang属性与dir属性的详解
Jun 19 Javascript
前台js调用后台方法示例
Dec 02 Javascript
基于jquery实现发送文章到手机的代码
Dec 26 Javascript
JS与jQuery遍历Table所有单元格内容的方法
Dec 07 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 Javascript
jquery 正整数数字校验正则表达式
Jan 10 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
Sep 10 Javascript
vue+elementUI实现简单日历功能
Sep 24 Javascript
Vue 实现拨打电话操作
Nov 16 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
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
php 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
sails框架的学习指南
2014/12/22 Javascript
JavaScript使用replace函数替换字符串的方法
2015/04/06 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
python 的列表遍历删除实现代码
2020/04/12 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
python是否适合网页编程详解
2019/10/04 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python如何在bool函数中取值
2020/09/21 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
幼儿教师自我鉴定
2013/11/02 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
军训口号
2014/06/13 职场文书