我在一个输入框需要输入纯数字,于是理所当然这么写
<input type="number" >
然后发现是可以输入e和小数点等数学符号,查了下网上,修改后如下
<input type="number" v-model="fromSize" onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))">
但是发现还是没效果,还是可以输入e以及小数点及数学符号,想问一下这个如何解决?
我在一个输入框需要输入纯数字,于是理所当然这么写
<input type="number" >
然后发现是可以输入e和小数点等数学符号,查了下网上,修改后如下
<input type="number" v-model="fromSize" onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))">
但是发现还是没效果,还是可以输入e以及小数点及数学符号,想问一下这个如何解决?
但是发现还是没效果,还是可以输入e以及小数点及数学符号,想问一下这个如何解决?
怎么输?这正则只能输数字。。。
http://jsfiddle.net/631807682...
但是这样做其实没什么用,因为你换个中文输入法onKeypress
就废了。你都用了v-model
了watch
一下不就完了?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
移动端的话可以试试加上pattern,弹出的键盘都只有数字了,很好用。提交之前再正则匹配下,一般就够用了。
web端的话除了onKeypress,onkeyup,你还要考虑复制粘贴之类的,不建议。还不如change/blur的时候再检测,提示或者回滚到上一个合法值