如何限制用户使用html / javascript在十进制后输入6位数

时间:2013-04-04 06:40:07

标签: javascript html

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

1 个答案:

答案 0 :(得分:2)

有了今天的HTML支持,在我们the pattern attribute之前,如果没有JavaScript,你就无法做到。

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

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

Demonstration

您也可以只显示一条消息:

,而不是阻止输入
<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';
}

Demonstration