我很新的Javascript,我想知道是否可以使用上传的.txt文件或.csv文件来替换下面的数组;使用文本文件而不是数组?
我想使用.txt的原因。或.csv文件是因为我每天都会收到数百个邮政编码,并更新邮政编码或删除邮政编码(如果它们超过90天)。我宁愿不每天编辑数组。
if (isInArray(pcode, [2000, 2001, 2100, 2010, 3100, 3131, 3123, 3333, 3215, 4100, 4321, 4567, 4865, 5000]) !== -1) {
pcheck = "Delivered";
} else {
pcheck = "Not delivered";
}
这是整个代码:
<!DOCTYPE html>
<html>
<body>
Enter the Post Code:
<input id="code" value="" />
<button onclick="validate()">Submit</button>
<p id="result"></p>
<p id="state"></p>
<script>
function isInArray(value,array) {
return array.indexOf(value) > -1;
}
function validate() {
var pcode, pcheck, pstate;
pcode = Number(document.getElementById("code").value);
if (isNaN(pcode)) {
pcheck = "This is not a post code.";
pstate = "No state.";
}
if (isInArray(pcode, [2000, 2001, 2100, 2010, 3100, 3131, 3123, 3333, 3215, 4100, 4321, 4567, 4865, 5000]) !== -1) {
pcheck = "Delivered";
} else {
pcheck = "Not delivered";
}
if (((pcode >= 2000) && (pcode <= 2599))||((pcode >= 2619) && (pcode <= 2899))||((pcode >= 2921) && (pcode <= 2999))) {
pstate = "NSW";
} else if ((pcode >= 1000) && (pcode <= 1999)) {
pstate = "NSW LVR/PO Box";
} else if (((pcode >= 2600) && (pcode <= 2618))||((pcode >= 2900) && (pcode <= 2920))) {
pstate = "ACT";
} else if ((pcode >= 200) && (pcode <= 299)) {
pstate = "ACT LVR/PO Box";
} else if ((pcode >= 3000) && (pcode <= 3999)) {
pstate = "VIC";
} else if ((pcode >= 8000) && (pcode <= 8999)) {
pstate = "VIC LVR/PO Box";
} else if ((pcode >= 4000) && (pcode <= 4999)) {
pstate = "QLD";
} else if ((pcode >= 9000) && (pcode <= 9999)) {
pstate = "QLD LVR/PO Box";
} else if ((pcode >= 5000) && (pcode <= 5799)) {
pstate = "SA";
} else if ((pcode >= 5800) && (pcode <= 5999)) {
pstate = "SA LVR/PO Box";
} else if ((pcode >= 6000) && (pcode <= 6797)) {
pstate = "WA";
} else if ((pcode >= 6800) && (pcode <= 6999)) {
pstate = "WA LVR/PO Box";
} else if ((pcode >= 7000) && (pcode <= 7799)) {
pstate = "TAS";
} else if ((pcode >= 7800) && (pcode <= 7999)) {
pstate = "TAS LVR/PO Box";
} else if ((pcode >= 800) && (pcode <= 899)) {
pstate = "NT";
} else if ((pcode >= 900) && (pcode <= 999)) {
pstate = "NT LVR/PO Box";
} else {
pcheck = "This is not a post code.";
pstate = "No state.";
}
document.getElementById("result").innerHTML = pcheck;
document.getElementById("state").innerHTML = pstate;
}
</script>
</body>
</html>
如何精简这个任何建议将是巨大的。再一次,我对JS很新,所以任何帮助都会很棒!
为什么?使用数组有什么问题? –
耶看看FileReader和一个CSV解析器。也可能是一个一站式的工具。 – dandavis
您是否使用任何类型的服务器端呈现工具?请记住,JavaScript运行在客户机上,因此它不能访问服务器上的文件系统。 –