限制价格(最多两位小数)

2025-02-09  本文已影响0人  生于乱世

paymentAmountChange(value){
// 过滤非法字符并限制小数位
value = value
.replace(/[^\d.]/g, '') // 移除非数字和小数点
.replace(/.{2,}/g, '.') // 替换多个小数点为一个
.replace(/(..*)./g, '$1'); // 防止重复输入小数点

  // 处理小数部分
  const parts = value.split('.');
  if (parts.length > 1) {
    parts[1] = parts[1].slice(0, 2); // 截断小数部分到两位
    value = parts[0] + '.' + parts[1];
  }

  // 处理前导零和小数点开头的情况
  if (value.startsWith('.')) {
    value = '0' + value;
  } else if (value.startsWith('0') && value.length > 1 && !value.includes('.')) {
    value = value.replace(/^0+/, '') || '0'; // 移除整数部分前导零
  }
  this.addFromData.paymentAmount = value;
},
上一篇 下一篇

猜你喜欢

热点阅读