4

入力に入力された値 (郵便番号) に定義済みの文字セットが含まれているかどうかに応じて、div をフェードインさせようとしています。私はそれを1つの値で機能させることができましたが、最終的には複数の郵便番号が存在するため、複数の入力で機能させたいと考えています. また、スペースと大文字と小文字を区別しないようにできれば、ここで行ったように 5 つではなく、各郵便番号に 1 つの値を入力できるようになるとよいでしょう。

$(".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);
   }
 }
});

http://jsfiddle.net/x8NwW/

「BS2 9」と入力すると機能しますが、次の値のいずれも機能しません。たとえば、「bs2 9」は機能しません。

私は読んでいて、正規表現、.indexOf、または.matchが答えになるかどうかはわかりませんが、このコンテキストでそれらを実装する方法が本当にわかりません.

どんな助けでも大歓迎です

4

2 に答える 2

5

空白を削除し、大文字に変換すると、文字列の先頭を次のように比較できますBS29

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

ここにフィドルがあります

于 2013-08-01T08:50:57.337 に答える