2010-09-16 165 views
49

我需要檢查一個字符串是否包含另一個字符串?JQuery字符串包含檢查

var str1 = "ABCDEFGHIJKLMNOP"; 
var str2 = "DEFG"; 

我用哪個函數來查明str1是否包含str2?

+0

**不同解決方案的基準**可以在這裏找到:http://jsben.ch/#/RVYk7 – EscapeNetscape 2016-11-11 10:24:03

+0

不同解決方案的短視頻演示:http://stackoverflow.com/questions/1789945/how-要檢查是否一個字符串包含另一個子字符串在javascript – ssmith 2016-12-14 16:20:03

回答

135

您可以使用javascript的indexOf函數。

var str1 = "ABCDEFGHIJKLMNOP"; 
 
var str2 = "DEFG"; 
 
if(str1.indexOf(str2) != -1){ 
 
    console.log(str2 + " found"); 
 
}

+3

這隻會在子字符串完全匹配時才起作用,不會在「DEfG」中解決,因爲f是小寫字母。 – 2012-07-23 11:31:39

+5

@RedSwan:你可以將字符串轉換爲大寫或小寫,然後做比較,解決問題。 – diggersworld 2014-11-08 09:40:03

+1

['indexof()'不支持IE <9](http://stackoverflow.com/q/8848097/339874) – mulllhausen 2016-10-11 07:19:20

3
var str1 = "ABCDEFGHIJKLMNOP"; 
var str2 = "DEFG"; 

sttr1.search(str2); 

它將返回匹配的位置,或-1,如果沒有找到它。

+0

很高興地注意到[Array.prototype.search](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search)將字符串隱式轉換爲正則表達式可能不會產生所需的結果。 – cpburnz 2015-03-13 17:55:11

4

請嘗試:

str1.contains(str2) 
+1

CurrentPage.contains不是函數 – mzonerz 2016-07-19 10:44:15

+1

這是因爲.contains()是一個jQuery方法。 – 2016-09-01 07:59:33

0

如果你擔心大小寫變化的情況下,比較字符串。

if (stringvalue.toLocaleLowerCase().indexOf("mytexttocompare")!=-1) 
     { 

      alert("found"); 
     } 
0

只需在foreach循環你可以比較,分離爲字符串

var commaseparateMainstring = 'shekar,jagadeesh,pavan,sai,suneel'; 
    var sustring = 'shekar,gopi,raju,suneel'; 
    //adding comma both sides of main string 
    var main = ',' + commaseparateMainstring + ','; 
    //substring change as array 
    var substingArray = listToArray(sustring, ','); 
    $.each(substingArray, function (index, value) { 
     //calling is exist method here value means each value in substring 
     var isexisted = isExist(main, value) 
     if (isexisted) { 
      //substring item existed 
     } 
     else { 
     } 
    }); 




//isExist method it checks substring exist in mainstring or not 


function isExist(mainString, substring) { 

if (mainString.indexOf(substring) != -1) { 
    return true; 
} 
else { 
    return false; 
} 
} 
0

這是爲我工作

if (~str.indexOf("Yes")) 
0

我用,

var text = "some/String"; text.includes("/") <-- returns bool; true if "/" exists in string, false otherwise.

0

下面的代碼你可以檢查「你好」字符串退出或不在給定的字符串。

if (our_string.indexOf('hello') > -1) 
{ 
    alert("hello found inside our_string"); 
} 

我希望這個答案對您有用。