关于前端:input-输入纯数字

标签局部:

<el-input v-model="form.field" @input="(value) => inputFieldValueFormat(value, 'field', type)" />

解决回调局部

inputFieldValueFormat(value, field, type) {
      // 小于100且小数点后最多输出6位
      if (type === 'less100rate') {
        const valueData = value.replace(/^(\-)*\D*(\d*(?:\.\d{0,6})?).*$/g, '$1$2');
        if (valueData <= 100) {
          this.form[field] = valueData;
        } else {
          this.form[field] = valueData.slice(0, 2);
        }
      // 规范金额 最多输出2位小数
      } else if (type === 'money') {
        this.form[field] = value.replace(/^(\-)*\D*(\d*(?:\.\d{0,2})?).*$/g, '$1$2');
      // 纯数字
      } else if (type === 'number') {
        this.form[field] = value.replace(/[^\d]/g, '');
      // 整数位最多输出n位 小数为最多输出m位
      } else if () {
        this.form[field] = value.replace(/^(\-)*\D{0,n}(\d{0,n}(?:\.\d{0,m})?).*$/g, '$1$2');
      }
    },

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理