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/>