【VUE】使用vant组件van-field时格式化金额保留两位小数

该段代码展示了一个Vue组件`van-field`,用于处理充值金额的输入。它限制输入为数字类型,允许一个小数点且最多两位小数。函数`numberFixedDigit`通过正则表达式清理无效字符并确保金额格式正确。
摘要由CSDN通过智能技术生成
    <van-field
        v-model="curValue"
        label="充值金额"
        placeholder="请输入充值金额"
        type="number"
        input-align="right"
        @input="numberFixedDigit"
    />
/**
 * 格式化输入金额
 * @param e
 */
function numberFixedDigit(e) {
  e.target.value = e.target.value.replace(/[^\d.]/g, "");  //清除“数字”和“.”以外的字符
  e.target.value = e.target.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
  e.target.value = e.target.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
  e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数
  e.target.value = e.target.value.replace(/^\./g, ''); //首位不能输入“.”
  if (e.target.value.indexOf(".") < 0 && e.target.value != "") {//如果没有小数点,首位不能为0,如01、02...
    e.target.value = parseFloat(e.target.value);
  }
  nextTick(() => {
    curValue.value = e.target.value
  })
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值