2011-07-07 131 views
16

我要檢查一些文字是比如我有一個字符串檢查文本是一個字符串

str = "car, bycicle, bus" 

一個字符串,我有另一個字符串

str2 = "car" 

我要檢查如果str2在str中。

我在javascript中的新手,所以請多多包涵:)

問候

+0

於JavaScript'String'方法的一個很好的參考:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String – Equiso

回答

21
if(str.indexOf(str2) >= 0) { 
    ... 
} 

或者,如果你想要去的正則表達式路線:

if(new RegExp(str2).test(str)) { 
    ... 
} 

但是你可能會面臨後者中存在轉義(元字符)的問題,所以第一條路線更容易。

+0

這應該很好地工作。 'indexOf'返回'str'中'str2'開頭的索引。如果不在數組中,則返回-1。 – switz

+1

我喜歡使用!= -1變體。 ---- if(str.indexOf(str2)!= -1){} –

2

str.lastIndexOf(str2)> 0;這應該工作。但未經測試。

+0

爲什麼使用'lastIndexOf'而不是'indexOf'? – hughes

+0

只是習慣性的強迫,我在過去使用indexOf ... burnIndexOf的工作原理與我所知道的一樣,只有一個被查找字符串的實例。 –

+1

有趣。在什麼情況下'indexOf'會引起麻煩? – hughes

1

請使用:

var s = "foo"; 
alert(s.indexOf("oo") > -1); 
+0

除了使用'>'代替'> ='之外,這與接受的答案有何不同? – Ram

+0

Ram, 兩者都是一樣的!如果你會看到條件,那麼兩者都表示相同,無論你使用「indexOf」函數得到的值應該大於還是等於0. – darshankhamar

+3

兩者都是我所說的相同。請不要爲問題添加重複的答案,而是根據需要提供現有的答案。 – Ram

相關問題