Javascript 将输入限制为特定数字
Javascript limit input to specific numbers
我想创建一个用于检查邮政编码的输入字段,但我发现数字范围不起作用,因为它们不是连续的:
在德累斯顿,一个邮政编码是 01157,而下一个是 01169,所以简单的范围是行不通的。
是否可以存储所有必要的邮政编码,然后比较输入是否是其中之一,如果是,那么它是否有效?
所以这里是一个最小的解决方案,用于基本了解其原理。
我正在使用事件侦听器,因此只要输入值发生变化,就会进行检查。如果提供的值包含在有效数字列表中,则输入为绿色,否则为红色。
提交按钮仅在提供有效输入时启用。
const plzList = [1, 4, 9, 185, 2164]
const plzInput = document.getElementById('plzInput')
const submit = document.getElementById('submit')
plzInput.addEventListener('input', e => {
const plzProvided = e.target.value
const isValid = plzList && plzList.includes(parseInt(plzProvided))
e.target.style.backgroundColor = isValid ? 'green' : 'red'
submit.disabled = !isValid;
});
<input id="plzInput" type="number" />
<input id="submit" type="submit" disabled/>
我想创建一个用于检查邮政编码的输入字段,但我发现数字范围不起作用,因为它们不是连续的:
在德累斯顿,一个邮政编码是 01157,而下一个是 01169,所以简单的范围是行不通的。
是否可以存储所有必要的邮政编码,然后比较输入是否是其中之一,如果是,那么它是否有效?
所以这里是一个最小的解决方案,用于基本了解其原理。
我正在使用事件侦听器,因此只要输入值发生变化,就会进行检查。如果提供的值包含在有效数字列表中,则输入为绿色,否则为红色。
提交按钮仅在提供有效输入时启用。
const plzList = [1, 4, 9, 185, 2164]
const plzInput = document.getElementById('plzInput')
const submit = document.getElementById('submit')
plzInput.addEventListener('input', e => {
const plzProvided = e.target.value
const isValid = plzList && plzList.includes(parseInt(plzProvided))
e.target.style.backgroundColor = isValid ? 'green' : 'red'
submit.disabled = !isValid;
});
<input id="plzInput" type="number" />
<input id="submit" type="submit" disabled/>