--- title: String.prototype.search() slug: Web/JavaScript/Reference/Global_Objects/String/search tags: - JavaScript - Method - Prototype - Reference - Référence(2) - String - регулярные выражения translation_of: Web/JavaScript/Reference/Global_Objects/String/search ---
Метод search()
выполняет поиск сопоставления между регулярным выражением и этим объектом {{jsxref("Global_Objects/String", "String")}}.
str.search([regexp])
regexp
new RegExp(regexp)
.При успехе метод search()
возвращает индекс первого сопоставления с регулярным выражением внутри строки. В противном случае метод вернёт -1.
Если вы хотите узнать, находится ли шаблон в строке, используйте метод search()
(он работает почти так же, как и метод {{jsxref("RegExp.prototype.test()", "test()")}} регулярного выражения, но вместо наличия подстроки возвращает её индекс); для получения дополнительной информации (за счёт более медленного выполнения) используйте метод {{jsxref("String.prototype.match()", "match()")}} (работает так же, как метод {{jsxref("RegExp.prototype.exec()", "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. |
{{SpecName('ES5.1', '#sec-15.5.4.12', 'String.prototype.search')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-string.prototype.search', 'String.prototype.search')}} | {{Spec2('ES6')}} |
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
search()
был реализован неправильно; при вызове без параметров или с параметром {{jsxref("Global_Objects/undefined", "undefined")}}, он сопоставлялся строке 'undefined', вместо пустой строки. Это было исправлено; теперь и вызов 'a'.search()
, и вызов 'a'.search(undefined)
корректно возвращают 0.