Javascript 替代或陈述

Javascript 替代或陈述,javascript,Javascript,我试图做的是重定向国家,基于国家代码和下面的脚本。下面的代码不起作用。在做一些研究时,我发现我必须使用or语句,或者至少我认为我需要使用or语句,但我的问题是,有没有比or语句更简单的方法?正如你所看到的,我正在检查很多国家 <script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script> <script language="JavaScript"> var cou

我试图做的是重定向国家,基于国家代码和下面的脚本。下面的代码不起作用。在做一些研究时,我发现我必须使用or语句,或者至少我认为我需要使用or语句,但我的问题是,有没有比or语句更简单的方法?正如你所看到的,我正在检查很多国家

<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>
<script language="JavaScript">

var country= geoip_country_code();

if(country = "UK","CA","DE","DK","FR","AU","SE","CH","NL","IT","BE","AT","ES","NO","IE","FI","GB","US")      
{
window.location.href='http://www.google.com'; 
}
else   
{
window.location.href='http://www.yahoo.com'; 
}
</script>

var country=geoip_country_code();
如果(国家=“英国”、“加拿大”、“德国”、“丹麦”、“法国”、“澳大利亚”、“东南”、“中国”、“荷兰”、“IT”、“BE”、“AT”、“ES”、“否”、“IE”、“FI”、“GB”、“美国”)
{
window.location.href=http://www.google.com'; 
}
其他的
{
window.location.href=http://www.yahoo.com'; 
}

您应该能够这样做:

var countryCodes = ["UK","CA","DE","DK","FR","AU","SE","CH","NL","IT","BE","AT","ES","NO","IE","FI","GB","US"];
var country= geoip_country_code();
if (countryCodes.indexOf(country) !== -1)
{
    ...
}

您可以执行以下操作:

var country = 'US';
var countries = 'UK CA DE DK FR AU SE CH NL IT BE AT ES NO IE FI GB US';

if (countries.match(country.toUpperCase())) {
  // matched
} else {
  // no match
}

但是客户端很容易伪造其来源。

@JonathonReinhart绕过服务器端也很简单。谢谢你的评论,但这足以满足我的需要。@JonathonReinhart重点是安全性在这里无论如何都不重要。通过IP地址进行的区域锁定的有效性不超过普通用户。“此外,他只是在改变方向。”布拉德·波因特说。不过我还是会在服务器端完成。@BenS.-which
=
===是首选,因为没有理由使用
==
@RobG我知道-我只是说使用
通常是一个好习惯==