Javascript Поиск слова в строке не работает

0

Как я могу искать слово в строке?

пример

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/

  • 0
    так ты в принципе хочешь соответствовать целому слову ..?
  • 0
    Разбить по пробелам, зациклить, сравнить?
Показать ещё 3 комментария
Теги:

4 ответа

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');
}

скрипка

1

Используйте проверку регулярных выражений. Google, чтобы узнать больше о них.

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

\b - символ границы слова в регулярном выражении. /i - это случай игнорирования. Замените слово поиском best.

  • 0
    Как я могу использовать пользователя с переменной вместо / \ bbest \ b / i?
0

Я знаю, что это немного более многословно, но почему бы не что-то вроде:

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

Вот скрипка.

-2

использовать .test()

var string="Stackoverflow is the BEST";
var result= /s/i.test(string);
alert(result);
  • 0
    что такое понижение?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню