2015-02-11 215 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 !"); 
} 
相關問題