Javascript搜索字符串中的单词不起作用

时间:2014-03-21 07:09:22

标签: javascript jquery regex

我如何搜索字符串中的单词?

示例

var string="Stackoverflow is the BEST";
if i search 'BEST' it should return true
if i search 'is' it should return true
if i search 'bEST' it should return true
if i search 'BES' it should return false
if i search 'flow' it should return false

我尝试了以下内容:

match()
search()
indexof()

我怎么做?感谢

http://jsfiddle.net/FxV53/3/

4 个答案:

答案 0 :(得分:1)

使用正则表达式检查。 Google可以通过词边界来了解有关它们的更多信息。

/\bbest\b/i.test("Stackoverflow is the BEST")

\b是正则表达式中的单词边界字符。 /i是无视案例。将best替换为您的搜索字词。

答案 1 :(得分:1)

\b是正则表达式中的单词边界字符。 /i是无视案例。最好用您的搜索词替换。

var string="Stackoverflow is the BEST";
var searchText = "Stackoverflow";
var re = new RegExp("\\b"+searchText+"\\b",'i');
if ( re.test(string)){
  alert('match');
}else {
  alert('not match');
}

Fiddle

答案 2 :(得分:0)

我知道这有点冗长,但为什么不能这样:

var exists = function (content, q) {
    var result = content.split(" ").filter(function(item) {
        return item.toLowerCase() === q.toLowerCase(); 
    });
    return result.length > 0;
};

这是fiddle

答案 3 :(得分:-1)

使用.test()

var string="Stackoverflow is the BEST";
var result= /s/i.test(string);
alert(result);