你不觉得minlength=“2”有点儿问题吗?如果我只输入一个字符也是不会有任何错误的
时间: 2023-11-19 19:04:25 浏览: 40
确实,`minlength` 属性并不能完全限制输入框中输入字符的数量,因为用户可以通过复制粘贴等方式绕过这个限制。如果想要更加严格地限制输入框的输入字符数量,可以使用 JavaScript 来实现。下面是一个示例:
```html
<input type="text" id="input">
<script>
const input = document.getElementById('input');
input.addEventListener('input', () => {
const value = input.value.trim();
if (value.length < 2) {
input.setCustomValidity('输入字符数不能少于 2 个');
} else if (value.length > 8) {
input.setCustomValidity('输入字符数不能多于 8 个');
} else {
input.setCustomValidity('');
}
});
</script>
```
在上面的示例中,我们通过监听输入框的 `input` 事件来实现对输入字符数量的检测。当用户输入字符数少于 2 个或多于 8 个时,我们通过 `setCustomValidity` 方法设置输入框的自定义校验信息。这样,当用户输入不符合要求时,输入框将显示自定义校验信息,提示用户输入正确的字符数。需要注意的是,为了避免用户输入空格等无效字符,我们在检测字符数之前使用了 `trim` 方法将输入框的值去掉了前后空格。