【发布时间】:2017-05-03 13:24:45
【问题描述】:
我使用replace() 从输入字段中删除非数字字符,如下所示:
<input type="number" oninput="this.value = this.value.replace(/[^\d]/g,'');">
效果很好,但是当我输入几个数字后跟一个减号或一个点(在 Android 上它必须是两个点)时,整个字段都会被清除。仅当输入类型设置为“数字”时才会发生这种情况,而不是设置为“文本”时,但我需要“数字”才能在移动设备上显示数字键盘。
为什么会这样?
为了澄清,我只想允许 [0-9],而不是其他可能的数字字符,例如 [.-e]。
【问题讨论】:
-
该线程没有回答我的问题,即为什么该字段被清除,并且答案也没有提供有效的解决方案:最流行的答案不会在我的 Android 设备上显示数字键盘,第二个使用
number类型字段,因此有同样的问题。 -
好的。认为它可能会有所帮助:)
-
它很有帮助也很有趣,但不是重复的 :)
标签: javascript