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
0bedeutet 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()