vue项目中,el-input type=“number“可以输入字母e . -的问题解决
问题: input type="number"可以输入字母einput type=”number” 时只允许输入数字,但是字母e可以输入,原因是e在数学上代表2.71828,所以它也还是一个数字,所以能输进去。解决办法为在input属性上加上:解决办法为在input属性上加上:onKeypress=”return (/[\d]/.test(String.fromCharCode(event....
·
最开始遇到这个问题的时候,上网查找的办法基本都是下面这种:
<input type="number" onKeypress=”return (/[\d]/.test(String.fromCharCode(event.keyCode)))” />
给input添加onKeypress。
但是!!!
在vue项目中,我刚开始给el-input添加上这个属性时,确实生效了,我提交代码以后,发现这里的代码变成了on-keypress,然后我再怎么修改都不生效了。
ok! fine
继续查找资料,然后就歪打正着的找到了解决办法:
<el-input v-model.number="val" type="tel" min="0" max="102400" @input="val = String(val).replace(/[^\d]/g,'')"
/>
input的v-model修改为v-model.number,type修改为tel,input事件用字符串的replace()方法将非数字的内容替换为空即可,然后input就只可以输入正整数了。
更多推荐
已为社区贡献2条内容
所有评论(0)