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 July 2015.

Die search()-Methode von String-Werten führt eine Suche nach einer Übereinstimmung zwischen einem regulären Ausdruck und diesem String durch und gibt den Index des ersten Treffers im String zurück.

Probieren Sie es aus

const paragraph = "I think Ruth's dog is cuter than your dog!";

// Anything not a word character, whitespace or apostrophe
const regex = /[^\w\s']/g;

console.log(paragraph.search(regex));
// Expected output: 41

console.log(paragraph[paragraph.search(regex)]);
// Expected output: "!"

Syntax

js
search(regexp)

Parameter

regexp

Ein reguläres Ausdrucksobjekt oder ein beliebiges Objekt, das eine Symbol.search-Methode hat.

Wenn regexp kein RegExp-Objekt ist und keine Symbol.search-Methode hat, wird es implizit mit new RegExp(regexp) in ein RegExp umgewandelt.

Rückgabewert

Den Index des ersten Treffers zwischen dem regulären Ausdruck und dem angegebenen String, oder -1, wenn keine Übereinstimmung gefunden wurde.

Beschreibung

Die Implementierung von String.prototype.search() tut nicht viel mehr, als die Symbol.search-Methode des Arguments mit dem String als erstem Parameter aufzurufen. Die tatsächliche Implementierung stammt von RegExp.prototype[Symbol.search]().

Das g-Flag von regexp hat keinen Einfluss auf das Ergebnis von search(), und die Suche erfolgt immer so, als ob der lastIndex des regulären Ausdrucks 0 wäre. Weitere Informationen zum Verhalten von search() finden Sie unter RegExp.prototype[Symbol.search]().

Wenn Sie wissen möchten, ob ein Muster gefunden wird, und außerdem dessen Index innerhalb eines Strings wissen möchten, verwenden Sie search().

Beispiele

Das folgende Beispiel durchsucht einen String mit zwei verschiedenen regulären Ausdruck-Objekten, um eine erfolgreiche Suche (positiver Wert) im Vergleich zu einer erfolglosen Suche (-1) zu zeigen.

js
const str = "hey JudE";
const re = /[A-Z]/;
const reDot = /[.]/;
console.log(str.search(re)); // returns 4, which is the index of the first capital letter "J"
console.log(str.search(reDot)); // returns -1 cannot find '.' dot punctuation

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-string.prototype.search

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
search

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch