10

文字列に 3 つの部分文字列のいずれかが含まれているかどうかを確認し、含まれている場合は関数を実装する必要があります。を使用して 1 つの部分文字列をチェックできることはわかってif (str.indexOf("term1") >= 0)いますが、このコードの複数のインスタンスを使用する以外に、複数の部分文字列をチェックする方法はありますか?

ティア

4

6 に答える 6

27
if (/term1|term2|term3/.test("your string")) {
   //youre code
}
于 2013-03-04T12:49:19.903 に答える
10

ループを使用できます。次のようなヘルパー関数を作成することもできます。

function ContainsAny(str, items){
    for(var i in items){
        var item = items[i];
        if (str.indexOf(item) > -1){
            return true;
        }

    }
    return false;
}

次のように呼び出すことができます。

if(ContainsAny(str, ["term1", "term2", "term3"])){
   //do something
}
于 2013-03-04T12:49:30.313 に答える
3

多分これ:

if (str.indexOf("term1") >= 0 || str.indexOf("term2") >= 0 || str.indexOf("term3") >= 0) 
{
 //your code
}
于 2013-03-04T12:48:53.793 に答える
2

次のようなことができます

function isSubStringPresent(str){
    for(var i = 1; i < arguments.length; i++){
        if(str.indexOf(arguments[i]) > -1){
            return true;
        }
    }

    return false;
}

isSubStringPresent('mystring', 'term1', 'term2', ...)
于 2013-03-04T12:50:41.570 に答える