我想要一个输入字段,只允许输入整数或.5十进制数。例如0,0.5,1,1.5,2,2.5 .......等等
我试图用HTML5输入字段这样做
<input type="number" min="0" max="18" step="0.5" pattern="\d+" />
但是当它在0.5的半步时它不会验证该数字。点击外面/验证时它只是保持红色。
这可能吗?我找不到如何验证半步的类似示例。我需要使用jQuery来实现这个目标吗?
由于
答案 0 :(得分:6)
删除pattern
属性。这用于需要正则表达式的复杂验证(并且您的正则表达式仅匹配数字序列)。事实上,规定min
,max
和step
已经定义了您需要的所有验证:
<input type="number" min="0" max="18" step="0.5" />
答案 1 :(得分:1)
您可以尝试以下方法:如果步骤不是.5,它将清除文本框
<input type="number" min="0" oninput="validity.valid||(value='');" step="0.5" />