el-input 如何校验只可以输入正整数

当然可以!你可以直接在 @input 事件中进行简单的处理,而不使用 methods。下面是一个更简洁的示例:

<template>
  <el-input
    v-model="inputValue"
    @input="inputValue = inputValue.replace(/[^1-9]/g, '')"
    placeholder="请输入正整数"
  ></el-input>
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    };
  }
};
</script>

说明

  • @input 事件中,直接使用正则表达式来替换非正整数的输入。
  • 这样做更简洁,不需要定义额外的方法。
  • 不过这样会使得el-input的 max失效

当然可以!你可以直接在 @input 事件中处理逻辑,而不使用 methods。以下是更新后的示例代码:

<template>
  <el-input
    v-model="inputValue"
    @input="inputValue = inputValue.replace(/[^1-9]\d*/g, '').slice(0, 4); if (inputValue > 1200) inputValue = '1200'"
    placeholder="请输入正整数(最大值1200)"
  ></el-input>
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    };
  }
};
</script>

说明

  • 输入校验replace 方法用于过滤掉非正整数的输入。
  • 最大值限制:直接在同一行检查,如果输入值大于1200,则将其重置为1200。
  • slice(0, 4):确保输入值不会超过4位(最大值1200有4位)。

这样实现了在 @input 事件中直接处理逻辑,保持代码的简洁性。

posted @   盘思动  阅读(691)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2021-10-29 max-content css 采用内部元素宽度值最大的那个元素
2021-10-29 uni-app去除顶部标题样式
点击右上角即可分享
微信分享提示