el-input仅限输入数字 (输入框仅支持输入数字)

需求:日常开发中会遇到输入框只能输入数字的功能。常用的方法有下面几种

  • 方式1 (将输入框类型改成number)
javascript 复制代码
<el-input v-model="number" type="number"/>
  • 方式2 (使用正则控制) 推荐使用该方式
javascript 复制代码
 <el-input v-model="value1" placeholder="请输入" @input.native="onInput"/>
 
const value1 = ref('')
// 定义输入处理函数
function onInput(event) {
  value1.value = event.replace(/[^\d.]/g, '');
  console.log(event, 'event', value1.value)
}
  • 方式3 (使用oninput来实现)
javascript 复制代码
<el-input v-model="amount" type="text" oninput="value=value.replace(/[^\d.]/g,'')"/>

比较推荐方式二 用正则的方式来做,方式三会有一个问题就是先输入汉字在输入数字,这个时候打印输入框绑定的值就会是空的,用方式二不会出现这个问题,方式一 加上number之后会出现上下箭头,需要用css隐藏过于麻烦而且可能会影响其他样式(不推荐)

相关推荐
程序员爱钓鱼1 小时前
Node.js 编程实战:图像与文件上传下载
前端·后端·node.js
kong79069282 小时前
环境搭建-运行前端工程(vue)
前端·前端环境
谷歌开发者2 小时前
Web 开发指向标|开发者工具 AI 辅助功能的 5 大实践应用
前端·人工智能
晚烛7 小时前
实战前瞻:构建高可靠、强协同的 Flutter + OpenHarmony 智慧教育平台
javascript·flutter·html
快乐肚皮8 小时前
一文了解XSS攻击:分类、原理与全方位防御方案
java·前端·xss
保护我方头发丶8 小时前
ESP-wifi-蓝牙
前端·javascript·数据库
想学后端的前端工程师8 小时前
【Flutter跨平台开发实战指南:从零到上线-web技术栈】
前端·flutter
老王Bingo8 小时前
Qwen Code + Chrome DevTools MCP,让爬虫、数据采集、自动化测试效率提升 100 倍
前端·爬虫·chrome devtools
董世昌418 小时前
什么是扩展运算符?有什么使用场景?
开发语言·前端·javascript
Yaru119 小时前
Vue 3.6 预览版特性
javascript·vue.js