Regex für JSON Web Token (JWT)

Verwende /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/, um zu prüfen, ob ein ganzer String ein gültiger JSON Web Token (JWT) ist. Jedes Beispiel unten wurde gegen das Muster getestet, und du kannst es mit vorgeladenen Beispielen im Regex-Tester öffnen.

Aktualisiert am

/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/
Im Regex-Tester öffnen
EingabeErgebnis
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.sig_abc-123✓ Treffer
eyJhbGciOiJub25lIn0.eyJzdWIiOiIxIn0.✓ Treffer
abc.def✗ Kein Treffer
a b.c.d✗ Kein Treffer
eyJ.abc.def.ghi✗ Kein Treffer

So funktioniert das Muster

TeilBedeutung
[A-Za-z0-9_-]+Der Header, base64url-kodiert
\.Ein Punkt
[A-Za-z0-9_-]+Die Payload
[A-Za-z0-9_-]*$Die Signatur (leer bei nicht signierten Tokens)

Code-Beispiele

JavaScript

const re = /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*', value))

PHP

preg_match('/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/', $value) === 1;

Hinweise und Einschränkungen

Dass das Format stimmt, sagt nichts darüber, ob ein Token gültig ist. Prüfe die Signatur daher immer auf dem Server. Untersuche ein Token mit dem JWT-Decoder.

Häufige Fragen

Wie lautet das Regex für JSON Web Token (JWT)?
/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/ – es prüft den gesamten String. Die Tabelle oben zeigt, was jeder Teil macht.
Welche Beispiele passen?
Von den getesteten Beispielen passen diese: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.sig_abc-123, eyJhbGciOiJub25lIn0.eyJzdWIiOiIxIn0.. Die anderen passen nicht.
Wie teste ich dieses Regex?
Klicke auf „Im Regex-Tester öffnen“. Muster, Flags und Beispieltext werden automatisch geladen, und Treffer werden beim Bearbeiten markiert.