2011-07-07 132 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

相关问题