el-input只能输入整数,小数、最多保留两位小数、最多输入4位小数,过滤el-input输入框中的特殊符号

只能输入框只能输入正整数,输入同时禁止了以0开始的数字输入,防止被转化为其他进制的数值。

复制代码
<el-input
v-model="programForm.ladderSectionUpperBound"
@input="(v)=>(programForm.ladderSectionUpperBound=v.replace(/^(0+)|[^\d]+/g,''))"></el-input>

1、只能输入纯数字

复制代码
<el-input v-model="aaa" type="text" @input="(v)=>(aaa=v.replace(/[^\d]/g,''))" />

2、能输入纯数字和小数(比如:6.66)

复制代码
<el-input v-model="aaa" type="text" @input="(v)=>(aaa=v.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1'))" />

3、小数最多保留两位(注意: type="text" )

复制代码
<el-form-item label="培训市场价:" prop="trainMarketPrice">
  <el-input  type="text" placeholder="请输入内容" v-model="form.trainMarketPrice" maxlength="20" onkeyup="value=value.replace(/[^\d.]/g, '')" show-word-limit>
  </el-input>
</el-form-item>

data() {

	var marketPrice = (rule, value, callback) => {
      if ((String(value).length - (String(value).indexOf(".") + 1)) > 2 && String(value).indexOf(".") >= 0) {
            callback(new Error("培训市场价限两位小数"));
      } else {
          callback();
      }
    }
    
	return {
		form: {
			trainMarketPrice: '',
		}
		rules:{
	        trainMarketPrice: [{ validator: marketPrice,  trigger: 'blur'} ], 
	 	}
	}
}

最多输入4位小数

复制代码
onkeyup="this.value=this.value.match(/\d+\.?\d{0,4}/);

<el-input placeholder="请输入" onkeyup="this.value=this.value.match(/\d+\.?\d{0,4}/);" v-model="form.powerGrid" clearable></el-input>

<el-input 
 v-model="increDistriNetForm.powerCapacity"
 placeholder="请输入"
 @input="limitInput($event)"
 ></el-input>
 >
//限制只能输入4位小数
limitInput (value) {
  this.increDistriNetForm.powerCapacity = ('' + value) // 第一步:转成字符串
    .replace(/[^\d^\.]+/g, '') // 第二步:把不是数字,不是小数点的过滤掉
    .replace(/^0+(\d)/, '$1') // 第三步:第一位0开头,0后面为数字,则过滤掉,取后面的数字
    .replace(/^\./, '0.') // 第四步:如果输入的第一位为小数点,则替换成 0. 实现自动补全
    .match(/^\d*(\.?\d{0,4})/g)[0] || '' // 第五步:最终匹配得到结果 以数字开头,只有一个小数点,	而且小数点后面只能有0到2位小数
},

4、过滤el-input输入框中的特殊符号

复制代码
el.value = el.value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g, "");

// 注意,此时不能在v-model后添加修饰符,例如v-model.trim 就会使上面的指令失效,具体原因待研究。

5、只能输入0-9

复制代码
onkeyup="value=value.replace(/^[^0-9]|[^\d]+/g,'')"

6、JS 控制不能输入特殊字符

复制代码
<input onkeyup="this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')">;

7、JS 控制文本框只能输入数字

复制代码
<input onkeyup="value=value.replace(/[^0-9]/g,'')" 
onpaste="value=value.replace(/[^0-9]/g,'')" 
oninput = "value=value.replace(/[^0-9]/g,'')">

8、JS 控制文本框只能输入数字、小数点

复制代码
<input onkeyup="value=value.replace(/[^\0-9\.]/g,'')" 
onpaste="value=value.replace(/[^\0-9\.]/g,'')" 
oninput = "value=value.replace(/[^\0-9\.]/g,'')">

9.JS 控制文本框只能输入英文

复制代码
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" 
onpaste="value=value.replace(/[^\a-\z\A-\Z]/g,'')" 
oninput = "value=value.replace(/[^\a-\z\A-\Z]/g,'')">

10.JS 控制文本框只能输入英文、数字

复制代码
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" 
onpaste="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" 
oninput = "value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">

11.JS 控制文本框只能输入中文

复制代码
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" 
onpaste="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" 
oninput = "value=value.replace(/[^\u4E00-\u9FA5]/g,'')">

12.JS 控制文本框只能输入中文、英文、数字

复制代码
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" 
onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" 
oninput = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')">

13.JS 控制文本框只能输入中文、英文、数字、空格

复制代码
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" 
onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" 
oninput = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')">

14.JS 控制文本框只能输入中文、英文、数字、小数点

复制代码
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" 
onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" 
oninput = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')">
相关推荐
想吃火锅10057 小时前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
原则猫9 小时前
HOOKS 背后机制
前端
码语智行9 小时前
首页导航跳转功能深度解析-系统内和系统外
前端
阿猫的故乡9 小时前
Vue过渡动画从入门到装X:淡入淡出、滑动、列表动画、第三方库全搞定
前端·javascript·vue.js
裕波10 小时前
Vue&ViteConf 2026 将于 7 月 18 日在上海举办,尤雨溪将现场发表主题演讲
vue.js·vite
IManiy10 小时前
总结之Vibe Coding前端骨架
前端
小和尚敲木头10 小时前
vue3 vite动态拼接图片路径
javascript
JS菌10 小时前
AI Agent 沙箱双层防护体系:从权限过滤到内核隔离的完整实现
前端·人工智能·后端
Aphasia31110 小时前
从输入URL到页面展示全流程
前端·面试
我叫黑大帅10 小时前
前端如何竖屏固定视口背景
前端·javascript·面试