Как проверить, содержит ли строка подстроку в JavaScript

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

Проверка наличия в строке подстроки - одна из самых распространенных задач в любом языке программирования.


JavaScript предлагает разные способы выполнения этой операции.

Самый простой, а также канонический в будущем - это использованиеincludes()метод в строке:

'a nice string'.includes('nice') //true

Этот метод был введен вES6 / ES2015.

Он поддерживается во всех современных браузерах, кроме Internet Explorer:

Browser Support for includes

Чтобы использовать его во всех браузерах, используйтеPolyfill.ioили другой специализированный полифилл.

includes()также принимает необязательный второй параметр, целое число, которое указывает позицию, с которой начать поиск:

'a nice string'.includes('nice') //true
'a nice string'.includes('nice', 3) //false
'a nice string'.includes('nice', 2) //true

Альтернатива include () до ES6:indexOf()

До ES6 распространенным способом проверить, содержит ли строка подстроку, было использованиеindexOf, который является строковым методом, возвращающим -1, если строка не содержит подстроки. Если подстрока найдена, она возвращает индекс символа, с которого начинается строка.

Нравитьсяincludes(), второй параметр задает отправную точку:

'a nice string'.indexOf('nice') !== -1 //true
'a nice string'.indexOf('nice', 3) !== -1 //false
'a nice string'.indexOf('nice', 2) !== -1 //true

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: