2015-02-11 220 views
0

我使用jQuery来检查,如果一个字符串包含在任何字符串数组中像这样 -检查字符串元素包含数组字符串

var arrayText = ["the","cat","sat"]; 
arrayText.indexOf($('#textBox1').val()) > -1) 

然而,这似乎只精确匹配的情况,但是是否有可能改变它,以便它匹配部分匹配,例如“他”出现在“the”中,因此结果会大于-1?

+2

你可能需要一个正则表达式来代替它。 – j08691 2015-02-11 14:44:44

+0

检查这一个http://stackoverflow.com/a/14024837/1181310 – 2015-02-11 14:46:54

回答

0

我认为这会为你工作

var arrayText = ["the", "cat", "sat"]; 
if ($.grep(arrayText, function (e, i) { 
    return /at/i.test(e); 
}).length > 0) { 
    console.log('matched') 
} 

DEMO

希望这有助于

0

如果你想找到一个数组是否是另一个字符串的子串的元素然后 ;

var arrayText = ["the","cat","sat"]; 

Array.prototype.containsSubString = function(text){ 
    for (var i in this) 
    { 
     if (this[i].toString().indexOf(text) != -1) 
      return i; 
    } 
    return -1; 
} 

if(arrayText.containsSubString('he') !== -1) 
{ 
    alert("Found in arrayText !"); 
} 
相关问题