en-input输入框限制可以负号、数字、以及两位小数

只能输入数字

复制代码
<!-- 只能输入数字,且长度最长为16位(maxlength="16") -->
<el-input
 v-model.trim="form.testA"
 maxlength="16"
 onkeyup="value=value.replace(/\D/g,'')"
 onafterpaste="value=value.replace(/\D/g,'')"
 @blur="form.testA=$event.target.value"

只能输入数字,允许输入小数点,且只能输入两位小数(正数、0)

复制代码
<!-- 只能输入数字,允许输入小数点,且只能输入两位小数(正数) -->
<el-input
 v-model.trim="form.testA"
 maxlength="16"
 oninput="value=value.replace(/^\D*([0-9]\d*\.?\d{0,2})?.*$/,'$1')"
 @blur="form.testA=$event.target.value"
/>

只能输入数字,允许输入小数点和负号,且只能输入两位小数(正数、负数、0)

复制代码
<!-- 只能输入数字,允许输入小数点和负号,且只能输入两位小数(正数、负数、0) -->
<el-input
  v-model.trim="form.testA"
  maxlength="16"
  oninput="value=value.replace(/^([0-9-]\d*\.?\d{0,2})?.*$/,'$1')"
  @blur="form.testA=$event.target.value"
/>

Tps: 若输入中文后,在输入正确的值,值没有变化、显示上一次的值,可在@change中传入$event:

复制代码
<el-input
  v-model.trim="form.testA"
  maxlength="16"
  oninput="value=value.replace(/^([0-9-]\d*\.?\d{0,2})?.*$/,'$1')"
  @blur="form.testA=$event.target.value"
  @change="changeContent(row, $index, $event)"
/>
 
changeContent(row,index,event) {
  this.$set(row, 'testA', event) // 赋值
}
相关推荐
星栈独行43 分钟前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
落落Plus2 小时前
浏览器缓存机制详解
javascript·缓存·浏览器缓存
浅水壁虎4 小时前
vue基础(第二章 )
前端·javascript·vue.js
界面开发小八哥4 小时前
界面控件DevExtreme v26.1新版亮点——支持Angular 22
前端·javascript·angular.js·devexpress·ui开发·devextreme
mONESY5 小时前
React useState 核心原理与最佳实践:从异步更新到性能优化全解
javascript
腻害兔5 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
gis开发之家6 小时前
《Vue3 从入门到大神37篇》Vue3 源码详解(七):watch 与 watchEffect 源码对比——副作用是如何被追踪的?
javascript·前端框架·vue3·vue3源码
bloglin999997 小时前
langchain 和 langgraph 和 react
javascript·react.js·langchain
触底反弹7 小时前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js
会周易的程序员9 小时前
js-shm: 高性能 Node.js 共享内存模块
开发语言·javascript·c++·node.js·共享内存·shm