Vue项目中el-input限制用户强制输入正整数或保留一定位数小数

angrybird2332021-07-13FrontendVue

限制输入正整数或小数(可控制位数)

/**
 *
 * @param {*} value 输入的值
 * @param {*} digitCount 要限制输入的小数位数
 * @returns 格式化之后的数字
 */
export const formatPositiveNumber = (value, digitCount=2) => {
  if(!Number(value)) return value;
  if(Number(value) && digitCount ===0){
    return parseInt(value);
  }
  const reg = new RegExp(`^(\\d+\\.?\\d{0,${digitCount}}).*$`);
  value = String(value).replace(/[^\d.]/g, "");
  value = value.replace(reg, "$1");
  return value;
};

如何使用

import { formatPositiveNumber } from '@/utils/inputFormat.js';

<template>
  <el-input 
    v-model="number1" 
    clearable 
    size="small" 
    maxlength="5" 
    @input="$event=formatPositiveNumber($event, 2)" 
    placeholder="请输入">
  </el-input>
</template>
最后更新时间 9/18/2024, 8:13:52 AM