jquery / javascript检查多个子串的字符串

我需要检查一个字符串是否有三个子串中的一个,如果是,则实现一个函数。 我知道我可以使用if (str.indexOf("term1") >= 0)检查一个子字符串,但有没有办法检查多个子字符串,而不是使用此代码的多个实例?

TIA

你可以使用一个循环。 甚至可能创建一个像这样的辅助函数:

 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 } 
 if (/term1|term2|term3/.test("your string")) { //youre code } 

也许这个:

 if (str.indexOf("term1") >= 0 || str.indexOf("term2") >= 0 || str.indexOf("term3") >= 0) { //your code } 

你可以做一些事情

 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', ...)