在输入类型="数字"之后禁用零后的多个数字

时间:2017-03-30 13:05:17

标签: javascript html

这是我的HTML:

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

但是,我仍然可以输入类似的内容:

  <00> 0000或000111或00223等

在我的输入字段中。我怎样才能将它限制为只有一个0?

有没有办法只在HTML中执行此操作?

感谢。

2 个答案:

答案 0 :(得分:1)

检查输入是否以零开始,并覆盖仅有0的下一个数字。

&#13;
&#13;
function checkZero(){
  var val = document.getElementById("num").value;
  if(val.startsWith("0")){
     document.getElementById("num").value = "0";
  }

}
&#13;
<input id="num" type="number" min="0" oninput="checkZero()" step="0.1"/>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

我会选择这样的事情:

while (s.charAt(0) == '0') {
    if (s.length == 1) { break };
    if (s.charAt(1) == '.') { break };
    s = s.substr(1, s.length-1)
}

它接受0.1之类的数字并处理00.1或001。