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) // 赋值
}
相关推荐
Niyy_1 小时前
前端一个工程构建多个项目,记录一次工程搭建
前端·javascript
快乐非自愿2 小时前
常用设计模式:工厂方法模式
javascript·设计模式·工厂方法模式
岁月宁静3 小时前
AI 多模态全栈应用项目描述
前端·vue.js·node.js
十年磨一剑~3 小时前
html+js开发一个测试工具
javascript·css·html
汪汪队立大功1234 小时前
JavaScript是怎么和html元素关联起来的?
开发语言·javascript·html
han_4 小时前
前端高频面试题之Vuex篇
前端·vue.js·面试
天天向上10245 小时前
VueUse的使用
前端·vue.js·vscode
FREE技术5 小时前
学生成绩管理系统 基于java+springboot+vue实现前后端分离项目并附带万字文档(源码+数据库+万字详设文档+软件包+安装教程)
java·vue.js·spring boot·mysql
GISer_Jing7 小时前
Node.js 开发实战:从入门到精通
javascript·后端·node.js
5335ld7 小时前
后端给的post 方法但是要求传表单数据格式(没有{})
开发语言·前端·javascript·vue.js·ecmascript