我有一个数字类型输入框。我需要的是限制用户在十进制后输入不超过6位数。我搜索了一些,但我得到的是max
和step
属性。是否可以使用任何html属性?也可以使用javascript解决方案,但 html解决方案更可取。
答案 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;
}
您也可以只显示一条消息:
,而不是阻止输入<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';
}