如果输入不是有效数字,则使用<input type=number>将导致this.value事件侦听器内部返回空字符串.您可以在http://jsfiddle.net/fSy53/上看到此示例
但是,输入中仍会显示无效字符.
有没有办法从事件监听器中获取实际显示的值,包括无效字符?
我的最终目标是阻止用户在字段中实际输入任何非数字字符.我需要使用,type=number以便移动设备使用数字虚拟键盘.我的目标是做类似this.value = this.value.replace(/[^0-9.]/g, "")on的事情keyup keypress,但这不起作用,因为如果键入了无效字符,则从this.value返回读取"".
我正在尝试构建一个正则表达式,它允许使用以下规则的负十进制数和正十进制数.
谁能帮我吗?非常感谢提前.
CodePen:http://codepen.io/leongaban/pen/hbHsk
但他们都建议使用type="number"或使用相同的修复程序type="tel"
这些都不在我的codepen或项目中工作:(

你看到我错过了什么吗?