Zum Inhalt springen

URLPattern

Musterbasierter URL-Abgleich mit benannten Gruppen.

Auf dieser Seite

URLPattern gleicht vollständige URLs oder einzelne URL-Bestandteile ab.

const users = new URLPattern({ pathname: "/users/:id" });

users.test({ pathname: "/users/42" }); // true
users.exec({ pathname: "/users/42" }).pathname.groups.id; // "42"

Die Konstruktion akzeptiert eine Musterzeichenkette mit optionaler Basis-URL oder ein Wörterbuch mit protocol, username, password, hostname, port, pathname, search, hash und baseURL. Die Option ignoreCase aktiviert einen Abgleich ohne Beachtung der Groß- und Kleinschreibung.

Mustersyntax

SyntaxBedeutung
:nameBenannte Segmenterfassung.
:name(regex)Benannter eigener regulärer Ausdruck.
(regex)Unbenannter eigener regulärer Ausdruck.
*Vollständiger Platzhalter.
{...}Gruppe.
?, +, *Optionaler oder wiederholender Modifikator.
\xMaskiertes Literal.
const api = new URLPattern("https://*.example.com/api/:resource");
api.exec("https://v2.example.com/api/widgets")
  .pathname.groups.resource; // "widgets"

const numeric = new URLPattern({ pathname: "/items/:id(\\d+)" });
numeric.test({ pathname: "/items/123" }); // true

const relative = new URLPattern("/items/:id", "https://example.com/");
relative.test("https://example.com/items/7"); // true

test() gibt einen Boolean zurück. exec() gibt null oder ein Ergebnis mit der Eingabe und den Erfassungsgruppen jedes Bestandteils zurück. Schreibgeschützte Attribute der Bestandteile stellen das kompilierte Muster bereit, und hasRegExpGroups kennzeichnet explizite Regex-Gruppen.

Reference

Status: Full · Not measured · since 1.1.0

Exports

ExportKindStatusNotes
URLPatternclassFullprotocol, username, password, hostname, port, pathname, search, hash, hasRegExpGroups, test(), exec()

War diese Seite hilfreich?