Regex untuk string base64

Gunakan /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/ untuk memastikan seluruh string adalah string base64 yang valid. Setiap contoh di bawah sudah diuji terhadap pola ini, dan kamu bisa membukanya di Regex Tester dengan sampel yang sudah terisi.

Diperbarui

/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/
Buka di Regex Tester
InputHasil
SGVsbG8=✓ Cocok
SGVsbG8gd29ybGQ=✓ Cocok
QUJD✓ Cocok
SGVsbG8✗ Tidak cocok
SGV$bG8=✗ Tidak cocok
=abc✗ Tidak cocok
SGVsbG8==✗ Tidak cocok

Cara kerja pola

BagianArti
(?:[A-Za-z0-9+\/]{4})*Blok empat karakter lengkap
[A-Za-z0-9+\/]{2}==Atau blok terakhir dengan dua tanda padding
[A-Za-z0-9+\/]{3}=Atau blok terakhir dengan satu tanda padding

Contoh kode

JavaScript

const re = /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?', value))

PHP

preg_match('/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/', $value) === 1;

Catatan dan batasan

String kosong juga cocok, jadi periksa panjangnya secara terpisah. Untuk base64url (JWT, URL), ganti +\/ dengan _- dan jadikan padding opsional. Decode dengan Base64 Encoder/Decoder.

Pertanyaan yang sering diajukan

Apa regex untuk string base64?
/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/ — cocok dengan seluruh string. Lihat tabel di atas untuk fungsi tiap bagian.
Contoh mana yang cocok?
Dari contoh yang diuji, yang cocok adalah: SGVsbG8=, SGVsbG8gd29ybGQ=, QUJD. Yang lain tidak.
Bagaimana cara menguji regex ini?
Klik “Buka di Regex Tester” — pola, flag, dan teks sampel akan termuat otomatis, dan kecocokan akan disorot saat kamu mengedit.