如何检查一个字符串是否包含特定的单词

$a = 'how are you';
if (strpos($a,'are') !== false) {
    echo 'true';
}

在PHP中,我们可以使用上面的代码来检查一个字符串是否包含特定的单词,但我怎样才能在JavaScript / jQuery中执行相同的功能?


如果你正在寻找确切的单词并且不希望它匹配诸如“噩梦”(这可能是你需要的),你可以使用正则表达式:

/bareb/gi

b = word boundary
g = global
i = case insensitive (if needed)

如果你只是想找到字符“是”,然后使用indexOf

如果你想匹配任意的单词,你必须根据单词字符串以编程方式构造一个RegExp(正则表达式)对象本身并使用test


你可以使用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;

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

这会找到一个词,真实的词,不只是如果这个词的字母是在字符串中的某个地方。

链接地址: http://www.djcxy.com/p/74091.html

上一篇: How to check if a string contain specific words

下一篇: How to tell if a string contains a certain character in JavaScript?