MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Сводка

Метод 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);
}

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

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

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

Возможность 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.

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

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

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