String.prototype.search()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
Сводка
ÐеÑод 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
СпеÑиÑикаÑии
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-string.prototype.search> |