el-form表单验证,只能输入整数或小数

const numCheck = (rule: any, value: any, callback: any) => {
	// 我这里不是必填的,如果是必填的再判断一下value === ''
  let capital = /^[0-9.]*$/;
  if (!capital.test(value)) {
    callback(new Error(`请输入整数或小数`));
  } else {
    let data = JSON.stringify(value)
    let arr = data.split('')
    let mix = data.indexOf('.')
    if(mix != -1){
      if(mix == 0 || mix == arr.length - 1){
        callback(new Error(`小数点不能在第一位或最后一位`));
        return
      }
      let dianNum = arr.filter((x: any) => x == ".");
      if(dianNum.length > 1){
        callback(new Error(`小数点只能有一个`));
        return
      }
      callback();
    } else {
      callback();
    }
  }
}
const rules = ref<FormRules<typeof temp>>({
	speed: [{ validator: numCheck, trigger: 'blur'}],
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值