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技巧收藏
Apr 07 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
Dec 25 Javascript
javascript操作excel生成报表全攻略
May 04 Javascript
Node.js中的模块机制学习笔记
Nov 04 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
Dec 20 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
Dec 28 Javascript
深入学习JavaScript中的Rest参数和参数默认值
Jul 28 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
Mar 03 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 Javascript
详解JavaScript中的数组合并方法和对象合并方法
May 11 Javascript
基于jQuery的时间戳与日期间的转化
Jun 21 jQuery
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
Aug 06 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文件上传的简单实例
2013/10/19 PHP
php实现对象克隆的方法
2015/06/20 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
php微信开发之谷歌测距
2018/06/14 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
javascript生成大小写字母
2015/07/03 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
python爬虫之百度API调用方法
2017/06/11 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
家长给老师的道歉信
2014/01/13 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
节约用电倡议书
2015/04/28 职场文书
初中生活随笔
2015/08/15 职场文书