首页 > 解决方案 > 检查后端数组中是否存在于数组中的输入字段值

问题描述

我想要这样的东西,我有一些英国邮政编码的列表,我想将它们保存在数组中,当用户从数组输入邮政编码时,它显示正确,如果它不存在于数组中它应该显示错误,基本上我想做一些邮政编码检查器。我知道代码无效它只是一个演示,因为我对数组很弱,所以请你帮帮我。谢谢

<input type="text" id="test">
<input type="button" value="click" onclick="z()"><span id="err"></span>

<script>
function z()
{
var a=document.getElementById("test");
if((a.value=="an apple")||(a.value=="SW6"))
{
document.getElementById('err').innerHTML= 'correct';
}
else
{
document.getElementById('err').innerHTML= 'wrong';

}

}
</script>

标签: javascriptjqueryarrays

解决方案


您可以执行以下操作:

const postcodes = ["SW6"];

// This will compare the strings and return true
//if they have the same base letters
let ciEquals = (a, b) => {
  let opts = { sensitivity: "base" };
  return a.localeCompare(b, undefined, opts) === 0;
};

let isValid = value => {
  for (let postcode of postcodes) {
    if (ciEquals(postcode, value)) return true;
  }
  return false;
};

document.getElementById("button").addEventListener("click", () => {
  var value = document.getElementById("test").value;
  if (!value) return;
  document.getElementById("err").innerHTML = isValid(value) ?
    "correct" :
    "wrong";
});
<input type="text" id="test" />
<input type="button" id="button" value="click" />
<span id="err"></span>

如果你输入SW6,你会看到“正确”


推荐阅读