0

我想为邮政编码检查创建一个输入字段,我发现数字范围不起作用,因为它们不是全部连续的:

在德累斯顿,一个邮政编码是 01157,但下一个是 01169,所以一个简单的范围是行不通的。

是否可以存储所有必要的邮政编码,然后比较输入是否是其中之一,如果是,那么它是否有效?

4

1 回答 1

0

因此,这里有一个基本的解决方案,可以基本了解其原则上是如何工作的。

我正在使用事件侦听器,因此每当输入值更改时,都会进行检查。如果提供的值包含在有效数字列表中,则输入为绿色,否则为红色。

只有在提供了有效输入时才会启用提交按钮。

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

于 2022-01-31T14:51:08.260 回答