String.prototype.indexOf()

text.indexOf(searchString, position)

Gibt den Index zurück, an dem die gesuchte Zeichenkette zum ersten Mal beginnt. Kommt sie in der Zeichenkette nicht vor, gibt sie -1 zurück.

Parameter

  • searchString – die gesuchte Zeichenkette.
  • position – optional, ab wo gesucht wird (standardmäßig 0).

Rückgabewert

Den Index des ersten Vorkommens oder -1.

Beispiele

const email = 'jana.schmidt@example.com';
const at = email.indexOf('@');
console.log(at, email.slice(0, at), email.slice(at + 1));
console.log(email.indexOf('#'));

Ausgabe:

12 jana.schmidt example.com
-1

Die Anzahl aller Vorkommen – die Suche geht hinter dem vorigen Treffer weiter. Das große „B“ in „Barbara“ zählt nicht mit:

const text = 'Barbara baut eine Rhabarberbar';
let count = 0;
for (let i = text.indexOf('ba'); i !== -1; i = text.indexOf('ba', i + 2)) count++;
console.log(count);

Ausgabe:

4

Worauf Sie achten sollten

  • Die Methode unterscheidet Groß- und Kleinschreibung. Für eine Suche ohne Rücksicht darauf vergleichen Sie umgewandelte Zeichenketten: text.toLowerCase().includes(searchString.toLowerCase()).
  • Das Ergebnis 0 bedeutet einen Treffer am Anfang – prüfen Sie in einer Bedingung !== -1. Für einen bloßen Test auf Vorkommen ist includes() lesbarer.

Browserunterstützung

Baseline – weithin verfügbar: funktioniert in allen gängigen Browsern, und das schon lange (spätestens seit 2015). Ab Version: Chrome 1, Firefox 1, Safari 1; Node.js 0.10.0. Stand: Oktober 2026 (MDN browser-compat-data).

Siehe auch:
String.prototype.lastIndexOf()
String.prototype.includes()
String.prototype.search()
String.prototype.slice()