document.querySelectorAll('input').forEach(input => {
input.addEventListener("keydown", function(e) {
var charValue = String.fromCharCode(e.keyCode);
if (((!/^(d+)?([.]?d{0,1})?$/.test(this.value + e.key)) && (e.which != 8))) {
e.preventDefault()
}
})
})
SetPoint :<input id="input" type="text" name="setPoint" max="5" min="1" />
这段代码有点超出了我的理解,但我猜你在if语句中使用。something和<=来添加一个小于或等于来限制表单将接受的
的数量每次你在键盘上键入一个字母,你会得到一个特定的e.keyCode
或e.key
。试着调试每个变量的值来理解代码。
要设置限制,只需执行检查以防止默认行为(防止进一步输入)
var nextValue = this.value + e.key;
if (nextValue < 1 || nextValue > 5) {
e.preventDefault()
}