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用拖动滑块来控制图片大小的方法
Feb 27 Javascript
全面详细的jQuery常见开发技巧手册
Feb 21 Javascript
javascript执行环境及作用域详解
May 05 Javascript
jquery获取input type=text中的值的各种方式(总结)
Dec 02 Javascript
Vue.js实战之利用vue-router实现跳转页面
Apr 01 Javascript
详解RequireJS按需加载样式文件
Apr 12 Javascript
微信小程序中setInterval的使用方法
Sep 29 Javascript
关于vue面试题汇总
Mar 20 Javascript
微信小程序页面间传值与页面取值操作实例分析
Apr 30 Javascript
微信小程序日历弹窗选择器代码实例
May 09 Javascript
Vue的路由及路由钩子函数的实现
Jul 02 Javascript
微信小程序全局变量改变监听的实现方法
Jul 15 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程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
javascript 验证日期的函数
2010/03/18 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
react路由配置方式详解
2017/08/07 Javascript
vue组件学习教程
2017/09/09 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
Python类的用法实例浅析
2015/05/27 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
Python排序算法实例代码
2017/08/10 Python
python爬虫使用cookie登录详解
2017/12/27 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
python实现猜数字游戏
2020/03/25 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
大三自我鉴定范文
2013/10/05 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
个人合伙协议书范本
2014/10/14 职场文书
初一军训感言
2015/08/01 职场文书
go xorm框架的使用
2021/05/22 Golang
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏