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 相关文章推荐
setTimeout和setInterval的浏览器兼容性分析
Feb 27 Javascript
javascript动态加载实现方法一
Aug 22 Javascript
JavaScript 事件对内存和性能的影响
Jan 22 Javascript
微信小程序实战之自定义toast(6)
Apr 18 Javascript
微信小程序 获取session_key和openid的实例
Aug 17 Javascript
node文件批量重命名的方法示例
Oct 23 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
Feb 09 Javascript
详解Require.js与Sea.js的区别
Aug 05 Javascript
创建Vue项目以及引入Iview的方法示例
Dec 03 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
Feb 22 Javascript
推荐几个不错的console调试技巧实现
Dec 20 Javascript
JavaScript简易计算器制作
Jan 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/04/22 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
vue实现移动端图片裁剪上传功能
2020/08/18 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
python学习 流程控制语句详解
2016/06/01 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
Python Series从0开始索引的方法
2018/11/06 Python
Python之循环结构
2019/01/15 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
Django实现分页显示效果
2019/10/31 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
大专毕业生简历的自我评价
2013/10/20 职场文书
监理资料员岗位职责
2014/01/03 职场文书
生日宴会答谢词
2014/01/09 职场文书
幼儿园教师备课制度
2014/01/12 职场文书
优秀经理获奖感言
2014/03/04 职场文书
2015感人爱情寄语
2015/02/26 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
2015年测量员工作总结
2015/05/23 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android