Fir*_*o99 7 html javascript validation input
我想创建一个只能在其中写入自然数的输入字段。(是的,我知道这可能是一个不好的做法,因为用户没有得到任何反馈)。如果您键入数字以外的任何内容,它不应出现在输入中。我想使用纯 JavaScript(没有 JQuery)。
我通常会这样做:
<input oninput="this.value = this.value.replace(/\D+/g, '')">
Run Code Online (Sandbox Code Playgroud)
但我发现,这<input type="number">对于移动设备来说是更受欢迎的,因为它不显示整个键盘,而只显示数字。
所以我的问题是,如何type="number"与过滤结合(并使其与剪切/复制/粘贴兼容)?
<input type="number">如果输入任何非数字字符,则 - 元素的值始终为空字符串。所以我上面的过滤方法不起作用。有什么解决方法吗?
如果没有,我就必须监听按键、粘贴、剪切以及可能的更多事件。我必须考虑哪些事件,我将如何实施它,以及是否有我忽略的更简单的方法?
Use*_*863 11
尝试使用inputmode属性
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode
<input inputmode="numeric" oninput="this.value = this.value.replace(/\D+/g, '')" />Run Code Online (Sandbox Code Playgroud)
参考
https://css-tricks.com/finger-friend-numeric-inputs-with-inputmode
| 归档时间: |
|
| 查看次数: |
22499 次 |
| 最近记录: |