String.prototype.search()

Die search() methode führt eine Suche für eine Übereinstimmung von einem Regulären Ausdruck und diesem String Objekt.

Syntax

str.search(regexp)

Parameter

regexp
Ein Regulär-Ausdruck Objekt. Wenn ein nicht-RegExp Objekt obj eingereicht wird, wird es durch new RegExp(obj) zu RegExp konvertiert.

Rückgabewert

Die erste übereinstimmung zwischen dem Regulären Audruck und und der gegebenen Zeichenkette; wenn nicht gefunden, -1.

Beschreibung

Wenn du wissen willst ob ein Muster gefunden wurde, und was sein Index ist nutze search() (wenn du nur wissen willst ob es das gibt nutze die ähnliche test() Methode auf dem RegExp Prototyp, der einen boolean zurückgibt); für mehr informationen (aber langsamererere Ausführung) nutze match() (ähnlich zum Ausdruck exec()).

Beispiele

Das folgende Beispiel durchsucht eine Zeichenkette mit 2 verschiedenen regex Objekten, um eine erfolgreiche, und unerfolgreiche Suche zu zeigen.

var str = "hey LukE";
var re = /[A-Z]/g;
var re2 = /[.]/g;
console.log(str.search(re)); // gibt 4 zurück, was der Index des ersten Großbuchstaben "L" ist.
console.log(str.search(re2)); // gibt -1 zurück kann "." nicht finden

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 3rd Edition (ECMA-262) Standard Initielle Definition. Eingeführt in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'String.prototype.search' in dieser Spezifikation.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'String.prototype.search' in dieser Spezifikation.
Standard
ECMAScript (ECMA-262)
Die Definition von 'String.prototype.search' in dieser Spezifikation.
Lebender Standard

Browser Kompatibilität

BCD tables only load in the browser

Gecko-spezifische Hinweise

  • flags war ein nicht-standard Zweitargument nur in Gecko verfügbar: str.search(regexp, flags)
  • Vorher Gecko 8.0, search() war falsch eingeführt; wenn es ohne oder mit undefined parametern Ausgeführt wurde, würde es mit 'undefined' übereinstimmen, anstatt mit einer leeren Zeichenkette übereinzustimmen. Das wurde behoben; jetzt ist 'a'.search() und 'a'.search(undefined) korrekt und geben 0 zurück.
  • Ab Gecko 39 (Firefox 39 / Thunderbird 39 / SeaMonkey 2.36), gibt das nicht-Standard flag Argument eine Konsolenwarnung (Bug 1142351).
  • Ab Gecko 47 (Firefox 47 / Thunderbird 47 / SeaMonkey 2.44), ist das nicht-Standard flag Argument nicht länger unterstützt in nicht-veröffentlichten Builds und wird bald vollständig entfernt (Bug 1245801).
  • Ab Gecko 49 (Firefox 49 / Thunderbird 49 / SeaMonkey 2.46), ist das nicht-Standard flag Argument nicht länger unterstützt (Bug 1108382).

Siehe auch