el-input输入number,数字保留两位小数

需求:“只允许输入金额保留两位小数”,有2种实现方法

方法一(通过正则控制):

html:

<el-input
  v-model="inputTable.amount"
  @input="formatNum(form.amount, 'amount')"
></el-input>

js:

formatNum(val, key) {
  let temp = val.toString();
  temp = temp.replace(/。/g, ".");
  temp = temp.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
  temp = temp.replace(/^\./g, ""); //验证第一个字符是数字
  temp = temp.replace(/\.{2,}/g, ""); //只保留第一个, 清除多余的
  temp = temp.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
  temp = temp.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
  this.form[key] = temp;
},

方法二(使用组件):

InputNumber 计数器
组件 | Element

precision配精度为两位小数

 <el-input-number v-model="num" :precision="2"></el-input-number>
上一篇:destoon根据标题调取百度下拉+淘宝下拉词,增强页面相关性


下一篇:div文本框的坑(好像富文本编辑器也是这样的)