Regex untuk tanggal (DD/MM/YYYY)

Gunakan /^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/ untuk memeriksa apakah seluruh string adalah tanggal (DD/MM/YYYY) yang valid. Setiap contoh di bawah sudah diuji terhadap pola ini, dan kamu bisa membukanya di Regex Tester dengan contoh yang sudah dimuat.

Diperbarui

/^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/
Buka di Regex Tester
InputHasil
30/10/2026✓ Cocok
01/12/2000✓ Cocok
31/01/1999✓ Cocok
10/30/2026✗ Tidak cocok
1/5/2026✗ Tidak cocok
30-10-2026✗ Tidak cocok
32/01/2026✗ Tidak cocok

Cara kerja pola

BagianArti
(?:0[1-9]|[12]\d|3[01])Tanggal 01–31 dulu (urutan Inggris, Eropa, India, dan Australia)
\/Garis miring
(?:0[1-9]|1[0-2])Bulan 01–12
\d{4}$Tahun empat digit

Contoh kode

JavaScript

const re = /^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:0[1-9]|[12]\d|3[01])/(?:0[1-9]|1[0-2])/\d{4}', value))

PHP

preg_match('/^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/', $value) === 1;

Catatan dan batasan

Ganti \/ dengan [\/.-] agar 30.10.2026 dan 30-10-2026 juga diterima. Jumlah hari per bulan tidak dicek.

Pertanyaan yang sering diajukan

Apa regex untuk tanggal (DD/MM/YYYY)?
/^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/ — pola ini mencocokkan seluruh string. Lihat tabel di atas untuk fungsi tiap bagian.
Contoh mana yang cocok?
Dari contoh yang diuji, yang cocok adalah: 30/10/2026, 01/12/2000, 31/01/1999. 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.