JS 处理金额.x和..x,x.x..x等。替换多余的小数点

需求:
类似支付宝充值输入

以…开头点击充值修改为0.xx,

输入x.x.x修改为x.xx

输入x.x…x修改为x.xx

输入0修改为0.00

/**
 * @description 只处理处理不常见的输入转换。转换后在调用通用的金额格式化进行处理
 * @param data '.333' '..333' '33.22','2.22' '2.33...3'
 * @returns  '0.333'  '0.333' '33.22' '3.33' '2.333'
 */
function filters(data) {
  let originData = data;
  // 获取用户输入内容,提取数字
  let input = data.match(/[0-9]+/g);
  // 判断用户输入.x or x.x
  let posDecimal = originData.toString().indexOf(".");
  console.log('index',posDecimal)
  console.log('data',input)
  if(posDecimal === 0){
    input.splice(0, 0, "0.");
  }else{
    input.splice(1, 0, ".");
  }
  return input.toString().replaceAll(",", "");
}

  • @param data ‘.333’ ‘…333’ ‘33.22’,‘2.22’ ‘2.33…3’
  • @returns ‘0.333’ ‘0.333’ ‘33.22’ ‘3.33’ ‘2.333’
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值