Сводка

Метод search() выполняет поиск сопоставления между регулярным выражением и этим объектом String.

Синтаксис

str.search([regexp])

Параметры

regexp
Необязательный параметр. Объект регулярного выражения. Если будет передан не объект регулярного выражения, он будет неявно преобразован в объект RegExp через вызов конструктора new RegExp(regexp).

Описание

При успехе метод search() возвращает индекс первого сопоставления с регулярным выражением внутри строки. В противном случае метод вернёт -1.

Если вы хотите узнать, находится ли шаблон в строке, используйте метод search() (он работает так же, как и метод test() регулярного выражения); для получения дополнительной информации (за счёт более медленного выполнения) используйте метод match() (работает так же, как метод exec() регулярного выражения).

Примеры

В следующем примере в журнал попадает сообщение, зависящее от успешности или неуспешности прохождения проверки.

function testInput(re, str) {
  var midstring;
  if (str.search(re) != -1) {
    midstring = ' содержит ';
  } else {
    midstring = ' не содержит ';
  }
  console.log(str + midstring + re);
}

var testString  = 'hey JuDe';
var re = /[A-Z]/g;

testInput(re, testString); // выведет: hey Jude содержит /[A-Z]/g

Спецификации

Спецификация Статус Комментарии
ECMAScript 3-е издание. Стандарт Изначальное определение. Реализована в JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
Определение 'String.prototype.search' в этой спецификации.
Стандарт  
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'String.prototype.search' в этой спецификации.
Стандарт  

Совместимость с браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

Примечания по Gecko

  • До версии Gecko 8.0, метод search() был реализован неправильно; при вызове без параметров или с параметром undefined, он сопоставлялся строке 'undefined', вместо пустой строки. Это было исправлено; теперь и вызов 'a'.search(), и вызов 'a'.search(undefined) корректно возвращают 0.

Смотрите также

Метки документа и участники

Внесли вклад в эту страницу: ifeature, atna, Mingun
Обновлялась последний раз: ifeature,