我在javascript中使用以下条件来根据邮政编码过滤我的选项。
if (parseInt(postcode, 10) > 99 && parseInt(postcode, 10) < 10000 && postcode != '') {
// code goes here...
}
其中邮政编码可以是任何澳大利亚邮政编码。除了0852
/ 0840
/ 4840
之类的随机邮政编码外,它适用于所有人。我不确定它是否适用于我刚检查过随机邮政编码的所有邮政编码。
答案 0 :(得分:0)
我刚检查过,它对你提到的邮政编码非常好。也许在其他浏览器中存在问题 - 我没有检查任何保存或最新的Firefox。
无论哪种方式,请确保parseInt
返回您的期望。你可以这样做:
var parsed = parseInt(postcode, 10);
if (parsed > 99 && parsed < 10000 && postcode != '') {
// code goes here...
} else {
console.log(postcode, parsed);
}
上面会将不良值打印到控制台,你可能会发现错误。也许他们会回归NaN
?也许输入没有被修剪?
顺便说一下,我会改变你的状况。 postcode != ''
是一个狭隘的案例;怎么输入'abc'
怎么办?在通过NaN
之后,所有这些值都为parseInt
,所以您也可以这样做:
var parsed = parseInt(postcode, 10);
if (!!parsed && parsed > 99 && parsed < 10000) {
// code goes here...
}