--- title: String.prototype.search() slug: Web/JavaScript/Reference/Global_Objects/String/search tags: - JavaScript - Méthode - Prototyp - Referenz - Regulärer Ausdruck - Zeichenkette translation_of: Web/JavaScript/Reference/Global_Objects/String/search original_slug: Web/JavaScript/Reference/Global_Objects/String/suchen --- <div>{{JSRef}}</div> <p>Die <strong><code>search()</code></strong> methode führt eine Suche für eine Übereinstimmung von einem Regulären Ausdruck und diesem {{jsxref("String")}} Objekt.</p> <div>{{EmbedInteractiveExample("pages/js/string-search.html")}}</div> <h2 id="Syntax">Syntax</h2> <pre class="syntaxbox"><var>str</var>.search(<var>regexp</var>)</pre> <h3 id="Parameter">Parameter</h3> <dl> <dt><code>regexp</code></dt> <dd>Ein Regulär-Ausdruck Objekt. Wenn ein nicht-RegExp Objekt <code>obj</code> eingereicht wird, wird es durch <code>new RegExp(obj)</code> zu {{jsxref("RegExp")}} konvertiert.</dd> </dl> <h3 id="Rückgabewert">Rückgabewert</h3> <p>Die erste übereinstimmung zwischen dem Regulären Audruck und und der gegebenen Zeichenkette; wenn nicht gefunden, <strong>-1</strong>.</p> <h2 id="Beschreibung">Beschreibung</h2> <p>Wenn du wissen willst ob ein Muster gefunden wurde, und was sein Index ist nutze <code>search()</code> (wenn du nur wissen willst ob es das gibt nutze die ähnliche {{jsxref("RegExp.prototype.test()", "test()")}} Methode auf dem RegExp Prototyp, der einen boolean zurückgibt); für mehr informationen (aber langsamererere Ausführung) nutze {{jsxref("String.prototype.match()", "match()")}} (ähnlich zum Ausdruck {{jsxref("RegExp.prototype.exec()", "exec()")}}).</p> <h2 id="Beispiele">Beispiele</h2> <h3 id="Benutzung_von_search">Benutzung von <code>search()</code></h3> <p>Das folgende Beispiel durchsucht eine Zeichenkette mit 2 verschiedenen regex Objekten, um eine erfolgreiche, und unerfolgreiche Suche zu zeigen.</p> <pre class="brush: js">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</pre> <h2 id="Spezifikationen">Spezifikationen</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Spezifikation</th> <th scope="col">Status</th> <th scope="col">Kommentar</th> </tr> <tr> <td>{{SpecName('ES3')}}</td> <td>{{Spec2('ES3')}}</td> <td>Initielle Definition. Eingeführt in JavaScript 1.2.</td> </tr> <tr> <td>{{SpecName('ES5.1', '#sec-15.5.4.12', 'String.prototype.search')}}</td> <td>{{Spec2('ES5.1')}}</td> <td></td> </tr> <tr> <td>{{SpecName('ES6', '#sec-string.prototype.search', 'String.prototype.search')}}</td> <td>{{Spec2('ES6')}}</td> <td></td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-string.prototype.search', 'String.prototype.search')}}</td> <td>{{Spec2('ESDraft')}}</td> <td></td> </tr> </tbody> </table> <h2 id="Browser_Kompatibilität">Browser Kompatibilität</h2> <p>{{Compat("javascript.builtins.String.search")}}</p> <h2 id="Gecko-spezifische_Hinweise">Gecko-spezifische Hinweise</h2> <ul> <li><code>flags</code> war ein nicht-standard Zweitargument nur in Gecko verfügbar: <var>str</var>.search(<var>regexp, flags</var>)</li> <li>Vorher {{Gecko("8.0")}}, <code>search()</code> war falsch eingeführt; wenn es ohne oder mit {{jsxref("undefined")}} parametern Ausgeführt wurde, würde es mit 'undefined' übereinstimmen, anstatt mit einer leeren Zeichenkette übereinzustimmen. Das wurde behoben; jetzt ist <code>'a'.search()</code> und <code>'a'.search(undefined)</code> korrekt und geben 0 zurück.</li> <li>Ab Gecko 39 {{geckoRelease(39)}}, gibt das nicht-Standard <code>flag</code> Argument eine Konsolenwarnung ({{bug(1142351)}}).</li> <li>Ab Gecko 47 {{geckoRelease(47)}}, ist das nicht-Standard <code>flag</code> Argument nicht länger unterstützt in nicht-veröffentlichten Builds und wird bald vollständig entfernt ({{bug(1245801)}}).</li> <li>Ab Gecko 49 {{geckoRelease(49)}}, ist das nicht-Standard <code>flag</code> Argument nicht länger unterstützt ({{bug(1108382)}}).</li> </ul> <h2 id="Siehe_auch">Siehe auch</h2> <ul> <li>{{jsxref("String.prototype.match()")}}</li> <li>{{jsxref("RegExp.prototype.exec()")}}</li> </ul>