$a = 'how are you';
if (strpos($a,'are') !== false) {
echo 'true';
}
在PHP中,我们可以使用上面的代码来检查字符串是否包含特定的单词,但是如何在JavaScript / jQuery中执行相同的功能呢?
答案 0 :(得分:51)
您可以将indexOf用于此
var a = 'how are you';
if (a.indexOf('are') > -1) {
return true;
} else {
return false;
}
编辑:这是一个老答案,每隔一段时间就会不断获得投票,所以我想我应该澄清一下,在上面的代码中,if
条款不需要因为表达式本身就是一个布尔值。这是你应该使用的更好的版本,
var a = 'how are you';
return a.indexOf('are') > -1;
ECMAScript2016中的更新:
var a = 'how are you';
return a.includes('are'); //true
答案 1 :(得分:24)
indexOf
不应该用于此。正确功能:
function wordInString(s, word){
return new RegExp( '\\b' + word + '\\b', 'i').test(s);
}
wordInString('did you, or did you not, get why?', 'you') // true
这将找到一个单词,真正的单词,而不仅仅是该单词的字母在字符串中的某个位置。
答案 2 :(得分:23)
如果您正在寻找准确的单词并且不希望它与“梦魇”(这可能是您需要的)相匹配,您可以使用正则表达式:
/\bare\b/gi
\b = word boundary
g = global
i = case insensitive (if needed)
如果您只是想找到“是”字符,请使用indexOf
。
如果要匹配任意单词,则必须根据单词字符串以编程方式构造一个RegExp(正则表达式)对象,并使用test
。
答案 3 :(得分:7)
您正在寻找indexOf函数:
if (str.indexOf("are") >= 0){//Do stuff}
答案 4 :(得分:2)
这将
/\bword\b/.test("Thisword is not valid");
返回false
,此时
/\bword\b/.test("This word is valid");
将返回true
。
答案 5 :(得分:2)
您可能想在JS中使用 include 方法。
var sentence = "This is my line";
console.log(sentence.includes("my"));
//returns true if substring is present.
PS:包含区分大小写。
答案 6 :(得分:1)
var str1 = "STACKOVERFLOW";
var str2 = "OVER";
if(str1.indexOf(str2) != -1){
console.log(str2 + " found");
}
答案 7 :(得分:1)
使用Regex match()方法的一种简单方法:-
例如
var str ="Hi, Its stacks over flow and stackoverflow Rocks."
// It will check word from beginning to the end of the string
if(str.match(/(^|\W)stack($|\W)/)) {
alert('Word Match');
}else {
alert('Word not found');
}
检查fiddle
注意:要增加区分大小写,请使用/(^|\W)stack($|\W)/i
谢谢
答案 8 :(得分:1)
在javascript中,include()方法可用于确定字符串是否包含特定单词(或指定位置的字符)。它区分大小写。
var str = "Hello there.";
var check1 = str.includes("there"); //true
var check2 = str.includes("There"); //false, the method is case sensitive
var check3 = str.includes("her"); //true
var check4 = str.includes("o",4); //true, o is at position 4 (start at 0)
var check5 = str.includes("o",6); //false o is not at position 6