Сводка
Метод search()
выполняет поиск сопоставления между регулярным выражением и этим объектом String
.
Синтаксис
str.search([regexp])
Параметры
regexp
- Необязательный параметр. Объект регулярного выражения. Если будет передан не объект регулярного выражения, он будет неявно преобразован в объект
RegExp
через вызов конструктораnew RegExp(regexp)
.
Описание
При успехе метод search()
возвращает индекс первого сопоставления с регулярным выражением внутри строки. В противном случае метод вернёт -1.
Если вы хотите узнать, находится ли шаблон в строке, используйте метод search()
(он работает почти так же, как и метод test()
регулярного выражения, но вместо наличия подстроки возвращает её индекс); для получения дополнительной информации (за счёт более медленного выполнения) используйте метод match()
(работает так же, как метод exec()
регулярного выражения).
Примеры
Пример: использование метода search()
В следующем примере в журнал попадает сообщение, зависящее от успешности или неуспешности прохождения проверки.
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.