我有一个简单的表单,其中一个输入字段的类型是数字。
<input type="number" step="0.5" required/>这在大多数浏览器中都能使用。然而,在Internet 11上,type="number"的验证是有缺陷的。它只允许数值,但是在输入一个数字之后,验证似乎停止工作。
例如,在大多数浏览器中,type="number"的验证工作如下所示:
value
而在中,它的工作方式如下:
value
我如何确保在的输入字段中只允许数字值(同时也允许step="0.5“继续工作-即10.5将仍然有效,即使”。是非数字)
发布于 2021-07-14 14:36:01
能够用这个正则表达式解决这个问题:
~r/^\d+(?:\.[05])?$/发布于 2021-06-21 08:24:00
我可以在IE 11中复制这个问题。为了解决这个问题,我们可以添加regex。示例代码如下所示,它只允许一个小数点,并且在IE11中工作得很好:
<input type="number" step="0.5" required oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" />
https://stackoverflow.com/questions/68057593
复制相似问题