使用jQuery根据多个文本输入显示div

使用jQuery根据多个文本输入显示div,jquery,regex,Jquery,Regex,我试图根据输入的值(邮政编码)是否包含预定义的字符集,使div淡入。我已经设法让它为一个值工作,但我希望它能为多个输入工作,因为最终将有多个邮政编码。如果我可以让它忽略空格和大小写,那么我就可以为每个邮政编码输入一个值,而不是像我在这里所做的那样输入五个值,这也会很好: $(".postcode-checker").click(function() { var name = $("#postcode-form input").val(); if(name != '') { if ($(

我试图根据输入的值(邮政编码)是否包含预定义的字符集,使div淡入。我已经设法让它为一个值工作,但我希望它能为多个输入工作,因为最终将有多个邮政编码。如果我可以让它忽略空格和大小写,那么我就可以为每个邮政编码输入一个值,而不是像我在这里所做的那样输入五个值,这也会很好:

$(".postcode-checker").click(function()
{
 var name = $("#postcode-form input").val();
 if(name != '')
{
   if ($("#postcode-form input").val().indexOf("BS2 9","bs2 9","BS29","bs29","Bs2 9","Bs29") > -1)
   {
    $('#bpwdp').fadeIn(500);
   }
 }
});

如果您输入“BS2 9”,它将起作用,但下列值(例如“BS2 9”)均不起作用

我一直在阅读,我不确定正则表达式、.indexOf或.match是否是答案,但我不确定如何在这种情况下实现它们


如果您的情况不正确,因为

索引是正确的,请使用以下代码,我们将非常感谢您的帮助:

var postcode = ["BS2 9","bs2 9","BS29","bs29","Bs2 9","Bs29"];
if (postcode.indexOf($("#postcode-form input").val()) > -1){...}
indexOf的正确语法为:

array1.indexOf(searchElement[, fromIndex]);
^^^              ^^^ data that you will search
data from which you search

教程是。

删除空白,转换为大写,然后您可以将字符串的开头与
BS29
进行比较:

$(".postcode-checker").click(function() {
   var name = $("#postcode-form input").val().replace(/\s+/g, '').toUpperCase();    
   $('#bpwdp')[name.match(/^BS29/) ? 'fadeIn' : 'fadeOut'](500);
});

谢谢你。这正是我要找的。有没有办法添加额外的邮政编码?我试过
(/^BS29/^BS30)
,但没用。是的,你只要做
/^[BS29 | AB12 | BC13]/
等。奥涅坎先生-如果你在任何列出的邮政编码中添加任何字符,例如,只添加字母B或字母S,现在看起来div会褪色。有什么想法吗@意大利人大卫:啊,接得好。只需删除
[]
,它就可以正常工作: