我有一个需要一些邮政编码的表单,我试图用预定义的后代码变量检查给定的邮政编码
<form id="post_code">
<input name="textfield" type="text" id="postcode" size="8" maxlength="8" />
<input type="image" id="submit_postcode" src="images/B_go.png" alt="Submit Postcode" width="59" height="24" border="0" />
</form>
var districtPostcodes = ['B1', 'B2', 'B3','B4'];
$("#submit_postcode").submit(function(){
var userPostcode = $("#postcode").val().replace(/[^a-zA-Z0-9]/gi,'').toUpperCase();
$.grep(districtPostcodes , function(val, i){
if(userPostcode.indexOf(val) === 0){
alert("Users postcode is part of district: "+val);
return true;
}else{
return false;
});
});
感谢您的帮助。
答案 0 :(得分:3)
好的,我发现您的代码存在两个问题。
首先,if/else
块缺少终止}
。在我对您粘贴的代码应用了适当的缩进后,这才明显。
其次,.indexOf
不是跨浏览器。您应该使用$.inArray
。
如果您要检查userPostcode
数组中是否存在districtPostcodes
的值,则可以调用$.inArray(userPostcode, districtPostcodes)
并将结果与-1
进行比较。< / p>