[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test [Back]  [Original]

RegExp.prototype.test() - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

RegExp.prototype.test()

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

Die test()-Methode von RegExp-Instanzen fhrt eine Suche mit diesem regulren Ausdruck durch, um nach einer bereinstimmung zwischen einem regulren Ausdruck und einem angegebenen String zu suchen. Sie gibt true zurck, wenn eine bereinstimmung gefunden wird, andernfalls false.

JavaScript-RegExp-Objekte sind zustandsbehaftet, wenn sie die Flags global oder sticky gesetzt haben (z.B. /foo/g oder /foo/y). Sie speichern einen lastIndex aus dem vorherigen Treffer. Intern verwendet kann test() verwendet werden, um ber mehrere bereinstimmungen in einem Textstring zu iterieren (mit Erfassungsgruppen).

In diesem Artikel

Probieren Sie es aus

const str = "table football";

const regex = /fo+/;
const globalRegex = /fo+/g;

console.log(regex.test(str));
// Expected output: true

console.log(globalRegex.lastIndex);
// Expected output: 0

console.log(globalRegex.test(str));
// Expected output: true

console.log(globalRegex.lastIndex);
// Expected output: 9

console.log(globalRegex.test(str));
// Expected output: false

Syntax

js
test(str)

Parameter

str

Der String, gegen den der regulre Ausdruck abgeglichen werden soll. Alle Werte werden in Strings umgewandelt, daher fhrt das Weglassen oder bergeben von undefined dazu, dass test() nach dem String "undefined" sucht, was selten gewnscht ist.

Rckgabewert

true, wenn eine bereinstimmung zwischen dem regulren Ausdruck und dem String str besteht. Andernfalls false.

Beschreibung

Verwenden Sie test(), wann immer Sie wissen mchten, ob ein Muster in einem String gefunden wird. test() gibt einen booleschen Wert zurck, anders als die String.prototype.search()-Methode (die den Index einer bereinstimmung oder -1 zurckgibt, wenn keine gefunden wird).

Um mehr Informationen zu erhalten (aber mit langsamerer Ausfhrung), verwenden Sie die exec()-Methode. (Dies ist hnlich wie die String.prototype.match()-Methode.)

Wie bei exec() (oder in Kombination damit) wird test(), mehrmals auf derselben globalen regulren Ausdrucksinstanz aufgerufen, ber den vorherigen Treffer hinausgehen.

Beispiele

Verwendung von test()

Dieses Beispiel berprft, ob "hello" ganz am Anfang eines Strings enthalten ist und gibt einen booleschen Wert zurck.

js
const str = "hello world!";
const result = /^hello/.test(str);

console.log(result); // true

Das folgende Beispiel protokolliert eine Nachricht, die von der erfolgreichen Durchfhrung des Tests abhngt:

js
function testInput(re, str) {
  const midString = re.test(str) ? "contains" : "does not contain";
  console.log(`${str} ${midString} ${re.source}`);
}

Verwendung von test() bei einem Regex mit dem "global"-Flag

Wenn ein Regex das global-Flag gesetzt hat, wird test() den lastIndex des Regex vorwrts verschieben. (RegExp.prototype.exec() verschiebt die lastIndex-Eigenschaft ebenfalls.)

Weitere Aufrufe von test(str) werden die Suche in str ab lastIndex fortsetzen. Die lastIndex-Eigenschaft wird jedes Mal erhht, wenn test() true zurckgibt.

Hinweis: Solange test() true zurckgibt, wird lastIndex nicht zurckgesetzteven bei einem Test mit einem anderen String!

Wenn test() false zurckgibt, wird die lastIndex-Eigenschaft des aufrufenden Regex auf 0 zurckgesetzt.

Das folgende Beispiel demonstriert dieses Verhalten:

js
const regex = /foo/g; // the "global" flag is set

// regex.lastIndex is at 0
regex.test("foo"); // true

// regex.lastIndex is now at 3
regex.test("foo"); // false

// regex.lastIndex is at 0
regex.test("barfoo"); // true

// regex.lastIndex is at 6
regex.test("foobar"); // false

// regex.lastIndex is at 0
regex.test("foobarfoo"); // true

// regex.lastIndex is at 3
regex.test("foobarfoo"); // true

// regex.lastIndex is at 9
regex.test("foobarfoo"); // false

// regex.lastIndex is at 0
// (...and so on)

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-regexp.prototype.test

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page