-1

我有一个数字类型的输入框。我需要的是限制用户在小数点后输入不超过 6 位。我搜索了一些,但我得到的只是maxandstep属性。是否可以使用任何 html 属性?也可以使用 javascript 解决方案,但最好使用 html 解决方案。

4

1 回答 1

2

有了今天的 HTML 支持,在我们拥有pattern 属性之前,没有 JavaScript 就无法做到。

这是一个基于 JavaScript 的解决方案,可防止任何错误输入:

var lastValue='';
yourinput.onkeyup = function(e) {
  if (!/^\d*\.?\d{0,6}$/.test(this.value)){
    this.value = lastValue;
  }
  lastValue = this.value;
}

示范

除了阻止输入,您还可以简单地显示一条消息:

<input id=yourinput pattern="\d+">
<span id=bad style="display:none;color:red">BAD</span>


document.getElementById('yourinput').onkeyup = function(e) {
  document.getElementById('bad').style.display = 
    /^\d*\.?\d{0,6}$/.test(this.value) ? 'none' : 'block';
}

示范

于 2013-04-04T06:45:52.943 回答