Javascript搜索特定的邮政编码

时间:2018-11-09 15:54:58

标签: javascript

因此,我正在编写代码以搜索用户输入的邮政编码,然后该代码将说明县(如果有效)或说明县无效(在一个州内)。有趣的是,它行得通,只有第一行,第二行没有被处理,我不确定自己做错了什么。我在网上检查过,似乎与我看到的示例相符。我将在下面显示代码:

function boroughCheck () {
var n = prompt("Enter a zip code", " ");
var entered = "Borough located:";

if( n == "10451"||"10452"||"10453"||"10454"||"10455"||"10456"||"10457"||"10458"||"10459"||"10460"||"10461"||"10462"||"10463"||"10464"||"10465"||"10466"||"10467"||"10468"||"10469"||"10470"||"10471"){
   
  alert(entered + " Bronx ");
}
else if( n == "11201"||"11202"||"11203"||"11204"||"11205"||"11206"||"11207"||"11208"||"11209"||"11210"||"11211"||"11212"||"11213"||"11214"||"11215"||"11216"||"11217"||"11218"||"11219"||"11220"||"11221"||"11222"||"11223"||"11224"||"11225"||"11226"|"11227"||"11228"||"11229"||"11230"||"11231"||"11232"|"11233"||"11234"||"11235"|"11236"||"11237"||"11238"||"11239"||"11241"||"11242"||"11243"||"11245"||"11247"||"11249"||"11251"||"11252"||"11256"){

  alert(entered + " Brooklyn ");
}
else
{
  alert(" - Invalid Zip Code")}
}

boroughCheck();

因此,这段代码使第一个“ if”语句运行,但没有第二个“ else if”语句运行,我在做错什么。我输入的任何邮政编码都将显示为“布朗克斯”,即使它与我在布鲁克林地区输入的邮政编码相匹配? 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

JavaScript写错了。

您需要执行if (n == "10451" || n ==... ),依此类推。

您还可以通过编写两个数组来避免这种情况,一个数组用于bronx,另一个数组用于布鲁克林,然后以这种方式进行测试:

var bronx = ["10451","10452"];
var brooklyn = ["11201","11202"];
var n = prompt("Enter a zip code", " ");
var entered = "Borough located:";

if(bronx.indexOf(x) === true){
    alert(entered + " Bronx ");
}elseif(brooklyn.indexOf(x) === true){
    alert(entered + " Brooklyn ");
}else{
    alert(" - Invalid Zip Code")}
}

方法3,使用范围。如果这些邮政编码不会更改并且保持一致,

if (n >= 11201 && n <= 11256) {
  // bronx
}elseif ( n >= 10451 && n <= 10471 ) {
  // brooklyn
}else{
  // nope
}