Vue输入金额格式

<input ref="content" type="text" :disabled="disabled"  @input="handleAmountChange" v-model.number.trim="totalval" />

代码如下(示例):

handleAmountChange(e) {
      //过滤e字符
      e.target.value = e.target.value.replace("e", "");
      
      //判断输入是数字和.
      e.target.value = e.target.value.replace(/[^\d.]/g, "");
      
      this.totalval = e.target.value;
     
      // 必须保证第一个为数字而不是.
      this.totalval = this.totalval.replace(/^\./g, "0.");
      
      // 保证只有出现一个.而没有多个.
      this.totalval = this.totalval.replace(/\.{2,}/g, ".");

      // 保证.只出现一次,而不能出现两次以上
      e.target.value = e.target.value
        .replace(".", "$#$")
        .replace(/\./g, "")
        .replace("$#$", ".");

      //只能输入两个小数
      this.totalval = this.totalval.replace(/^()*(\d+)\.(\d\d).*$/, "$1$2.$3");

    },

Logo

前往低代码交流专区

更多推荐