在HTML5数字输入中验证0.5作为步长值

时间:2014-03-06 15:06:59

标签: javascript jquery html html5

我想要一个输入字段,只允许输入整数或.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来实现这个目标吗?

由于

小提琴演示http://jsfiddle.net/b8NrE/906/

2 个答案:

答案 0 :(得分:6)

删除pattern属性。这用于需要正则表达式的复杂验证(并且您的正则表达式仅匹配数字序列)。事实上,规定minmaxstep已经定义了您需要的所有验证:

<input type="number" min="0" max="18" step="0.5" />

http://jsfiddle.net/b8NrE/907/

答案 1 :(得分:1)

您可以尝试以下方法:如果步骤不是.5,它将清除文本框

<input type="number" min="0" oninput="validity.valid||(value='');"  step="0.5" />