| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
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).
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
test(str)
strDer 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.
true, wenn eine bereinstimmung zwischen dem regulren Ausdruck und dem String str besteht. Andernfalls false.
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.
Dieses Beispiel berprft, ob "hello" ganz am Anfang eines Strings enthalten ist und gibt einen booleschen Wert zurck.
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:
function testInput(re, str) {
const midString = re.test(str) ? "contains" : "does not contain";
console.log(`${str} ${midString} ${re.source}`);
}
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:
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)
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-regexp.prototype.test |
RegExpObject/FunctionDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |