我想为邮政编码检查创建一个输入字段,我发现数字范围不起作用,因为它们不是全部连续的:
在德累斯顿,一个邮政编码是 01157,但下一个是 01169,所以一个简单的范围是行不通的。
是否可以存储所有必要的邮政编码,然后比较输入是否是其中之一,如果是,那么它是否有效?
我想为邮政编码检查创建一个输入字段,我发现数字范围不起作用,因为它们不是全部连续的:
在德累斯顿,一个邮政编码是 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/>