【问题标题】:If input value includes values from an array as well as extra characters如果输入值包括来自数组的值以及额外的字符
【发布时间】:2015-12-30 15:53:21
【问题描述】:
如果输入了无效的邮政编码,我正在尝试创建一个包含错误消息的邮政编码搜索。
我已经确定了在数组中有效的邮政编码,并声明了一个语句,如果输入值包含这些值中的任何一个,则不会显示错误消息。但是,由于我只声明了邮政编码的第一个字母,因此当输入包含其他字符以及数组中的值的完整邮政编码时,将显示错误消息。
我怎样才能使输入值的第一个字母等于数组值以及其他字符时消息保持关闭?
声明if(include())不是要走的路吗?
JSFiddle of what I have so far
【问题讨论】:
标签:
jquery
arrays
if-statement
include
【解决方案1】:
您似乎正在包含函数中测试相等性(换句话说,完全匹配)。尝试更新它以查看每个可能的邮政编码前缀(arr 中的项目)是否开始您的字符串:
function include(arr, obj) {
for(var i=0; i<arr.length; i++) {
if (obj.indexOf(arr[i]) === 0) return true;
}
}
编辑
我知道你现在只是在调试,不过我建议将更改中的公共代码和单击事件处理程序拉入它自己的函数中,这样你就不必复制和粘贴(并且修复错误两次!)