Regex untuk JSON Web Token (JWT)

Gunakan /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/ untuk memeriksa apakah seluruh string merupakan JSON Web Token (JWT) yang valid. Setiap contoh di bawah sudah diuji terhadap pola ini, dan kamu bisa membukanya di Regex Tester dengan contoh yang sudah dimuat.

Diperbarui

/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/
Buka di Regex Tester
InputHasil
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.sig_abc-123✓ Cocok
eyJhbGciOiJub25lIn0.eyJzdWIiOiIxIn0.✓ Cocok
abc.def✗ Tidak cocok
a b.c.d✗ Tidak cocok
eyJ.abc.def.ghi✗ Tidak cocok

Cara kerja pola ini

BagianArti
[A-Za-z0-9_-]+Header, dengan encoding base64url
\.Titik
[A-Za-z0-9_-]+Payload
[A-Za-z0-9_-]*$Signature (kosong untuk token tanpa tanda tangan)

Contoh kode

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;

Catatan dan batasan

Kecocokan bentuk tidak menjamin bahwa sebuah token itu valid, jadi selalu verifikasi signature di server. Periksa isi token dengan JWT Decoder.

Pertanyaan yang sering diajukan

Apa regex untuk JSON Web Token (JWT)?
/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/ — pola ini mencocokkan seluruh string. Lihat tabel di atas untuk fungsi setiap bagiannya.
Contoh mana yang cocok?
Dari contoh yang diuji, yang cocok adalah: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.sig_abc-123, eyJhbGciOiJub25lIn0.eyJzdWIiOiIxIn0.. Yang lain tidak cocok.
Bagaimana cara menguji regex ini?
Klik “Buka di Regex Tester” — pola, flag, dan teks contoh akan dimuat otomatis, dan kecocokan akan disorot saat kamu mengedit.