input number如何禁止输入e和小数点等数学符号?
我在一个输入框需要输入纯数字,于是理所当然这么写
<input type="number" >
然后发现是可以输入e和小数点等数学符号,查了下网上,修改后如下
<input type="number" v-model="fromSize" onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))">
但是发现还是没效果,还是可以输入e以及小数点及数学符号,想问一下这个如何解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
写个@blur或者@change或者@input事件,把值parseInt()一下不就行了
oninput = "value=value.replace(/ [^d]/g,'')"
怎么输?这正则只能输数字。。。
http://jsfiddle.net/631807682...
但是这样做其实没什么用,因为你换个中文输入法
onKeypress
就废了。你都用了v-model
了watch
一下不就完了?不太明白你的想法,你不要输入e,那你就监听fromSize,如果是e或者有小数点,就给个提示,并清空值就行了啊。
移动端的话可以试试加上pattern,弹出的键盘都只有数字了,很好用。提交之前再正则匹配下,一般就够用了。
web端的话除了onKeypress,onkeyup,你还要考虑复制粘贴之类的,不建议。还不如change/blur的时候再检测,提示或者回滚到上一个合法值