el-input输入正数、负数和后3位小数


<el-input
   v-model="data.PCSParamMsg.PowerFactorRef"
   style="width: 60%; min-width: 80px"
   maxlength="10"
   @input="editInput($event, 'PowerFactorRef')"
/>

//JS   能够输入1、1.0、1.00、1.000,-1等等
const editInput = (value: any, name: string) => {
  data.PCSParamMsg[name] =
    ("" + value) // 第一步:转成字符串
      .replace(/[^\-\d.]/g, "") // 第二步:把不是数字,不是小数点不是负号的过滤掉
      .replace(/^0+(\d)/, "$1") // 第三步:第一位0开头,0后面为数字,则过滤掉,取后面的数字
      .replace(/^\./, "0.") // 第四步:如果输入的第一位为小数点,则替换成 0. 实现自动补全
      .match(/^[-\d]*(\.?\d{0,3})/g)[0] || ""; // 第五步:最终匹配得到结果 以数字、负号开头,只有一个小数点,而且小数点后面只能有0到3位小数
};

你可能感兴趣的:(javascript,vue.js,elementui)