JavaScript注册表单中的状态验证

State validation in a JavaScript registration form

本文关键字:状态 验证 表单 注册 注册表 JavaScript      更新时间:2023-09-26

我可以这样做:

var statevalidation = document.registration.statetextbox;
var state = statevalidation.value;
if(state=="AL" || state=="al" state=="AK" || state=="ak" || ...)
{
    document.getElementById("statemsg").innerHTML=("Good to go.");
    statemsg.style.color="green";
}
else
{
    statemsg.innerHTML=("Invalid state.");
    statemsg.style.color="red";
}

然而,这给我留下了一个冗长而令人讨厌的if语句。我想知道是否有人知道一种"更干净"的方式来确保用户输入正确的州缩写?

不完全是"更干净",但如何像…

var state = statevalidation.value.toUpperCase();
var states = ["AL", "AK", ...];
var found = false;
for (var i = 0; i < states.length; i++) {
  if (states[i] == state) {
    found = true;
    break;
  }
}
if (found) {
  ...
} else {
  ...
}