値が約 4 つの値のいずれかに一致する場合に true を返す JavaScript 関数を作成しました (以下の例では 3 つだけ)。問題は、値が 2 つしかない場合、関数は正しく機能しますが、3 つ目の値を追加するとコードが壊れることです。
私はjavascriptを初めて使用しますが、これを行うにはもっと良い方法があると思いますか? 検索してみましたが、まだ何も見つかりませんでした。
どんな助けでも大歓迎です。
function isValid(elem, helperMsg){
                var sn6 = /[sS][nN]6/;
                var sn5 = /[sS][nN]5/;
                var sn38 = /[sS][nN]38/;
                if(elem.value.match(sn6 || sn5 || sn38)){
                        //do stuff
                        return true;
                }else{
                        return false;
                }
            }
編集:
配列を使用した2回目の試みは次のとおりです。
    function isLocal(elem, helperMsg){
        var validPostcodes=new Array();
            validPostcodes[0]= /[wW][rR]12/;       
            validPostcodes[1]= /[cC][vV]35/;
            validPostcodes[2]= /[sS][nN]99/;
            validPostcodes[3]= /[sS][nN]6/;
            validPostcodes[4]= /[sS][nN]5/;
            validPostcodes[5]= /[sS][nN]38/;
            validPostcodes[6]= /[oO][xX]29/;
            validPostcodes[7]= /[oO][xX]28/;
        var i = 0;
        for (i = 0; i < validPostcodes.length; ++i) {
            if(elem.value.match(validPostcodes[i])){
                    // do stuff
                    return true;
            }else{
                    alert(helperMsg);
                    elem.focus();
                    return false;
            }
        }
    }