โ† Back to Blog
Guide๐Ÿ“– 8 min read๐Ÿ“… Apr 5, 2026

๐Ÿ” 10 Regex Pattern yang Wajib Dikuasai Developer

Kumpulan regex pattern paling berguna untuk validasi email, password, phone number, dan lainnya. Lengkap dengan penjelasan dan contoh kode.

๐Ÿ“Œ Pendahuluan

Regular Expression (Regex) adalah salah satu skill paling powerful yang harus dimiliki setiap developer. Dengan regex, Anda dapat melakukan validasi input, search & replace text, dan ekstraksi data dengan sangat efisien.

Namun, regex seringkali terlihat menakutkan dengan syntax-nya yang asing. Artikel ini akan membahas 10 regex pattern yang paling sering digunakan dalam pengembangan web sehari-hari, lengkap dengan penjelasan yang mudah dipahami.

๐Ÿ’ก Tip: Anda bisa test semua pattern di artikel ini menggunakan Regex Tester yang tersedia di Ced DevTools.

๐Ÿ“š 10 Regex Pattern Wajib

1Email Validation

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Pattern ini digunakan untuk memvalidasi format email address. Regex ini akan memastikan email memiliki format yang benar: username @ domain . extension

โœ… Valid:

  • user@example.com
  • john.doe@company.co.id
  • test+tag@mail.com

โŒ Invalid:

  • invalid.email
  • @example.com
  • user@.com

2Password Strength (Strong)

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

Pattern ini memvalidasi password yang kuat dengan kriteria:

  • Minimal 8 karakter
  • Setidaknya 1 huruf kecil (a-z)
  • Setidaknya 1 huruf kapital (A-Z)
  • Setidaknya 1 angka (0-9)
  • Setidaknya 1 karakter special (@$!%*?&)

โœ… Valid: Password123!, Secure@2026, MyP@ssw0rd

3Phone Number (Indonesia)

^(\+62|62|0)8[1-9][0-9]{6,9}$

Pattern ini untuk validasi nomor handphone Indonesia. Mendukung berbagai format penulisan:

โœ… Valid:

  • 08123456789
  • 62812345678
  • +628123456789

โŒ Invalid:

  • 08012345678 (080 tidak valid)
  • 8123456789 (tanpa 0/62)
  • 081234567890123 (terlalu panjang)

4URL Validation

^https?://(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$

Pattern ini memvalidasi URL dengan protocol HTTP atau HTTPS. Mendukung subdomain www dan berbagai path.

โœ… Valid: https://www.example.com, http://cedevtools.com/tools, https://subdomain.site.co.id/path?query=1

5Date Format (DD/MM/YYYY)

^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/\d{4}$

Pattern ini memvalidasi format tanggal DD/MM/YYYY dengan range yang benar:

  • Day: 01-31
  • Month: 01-12
  • Year: 4 digit (contoh: 2026)

โš ๏ธ Note: Pattern ini tidak memvalidasi tanggal yang sebenarnya (misal: 31/02/2026 tetap lolos). Untuk validasi tanggal yang akurat, gunakan library date.

6Username Validation

^[a-zA-Z][a-zA-Z0-9_]{2,19}$

Pattern ini untuk validasi username dengan kriteria:

  • Harus dimulai dengan huruf (a-z, A-Z)
  • Boleh mengandung angka dan underscore
  • Panjang: 3-20 karakter

โœ… Valid:

  • john_doe
  • User123
  • admin_01

โŒ Invalid:

  • 123user (dimulai angka)
  • ab (terlalu pendek)
  • user-name (dash tidak allowed)

7Credit Card Number (Generic)

^\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$

Pattern ini memvalidasi format nomor kartu kredit (16 digit). Mendukung format dengan atau tanpa separator.

โœ… Valid: 1234567890123456, 1234-5678-9012-3456, 1234 5678 9012 3456

8IP Address (IPv4)

^(\d{1,3}\.){3}\d{1,3}$

Pattern ini memvalidasi format IPv4 address. Setiap octet bisa berisi 1-3 digit angka.

โš ๏ธ Note: Pattern ini hanya validasi format, bukan range (0-255). Untuk validasi yang lebih ketat, perlu logic tambahan.

9Hex Color Code

^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$

Pattern ini memvalidasi hex color code untuk CSS. Mendukung format 3 digit (short) dan 6 digit (full).

โœ… Valid:

  • #FFF atau #fff
  • #123456
  • #A1B2C3

โŒ Invalid:

  • #12 (terlalu pendek)
  • #12345 (5 digit)
  • #GGG (G bukan hex)

10Slug (URL Friendly)

^[a-z0-9]+(?:-[a-z0-9]+)*$

Pattern ini untuk validasi slug URL yang SEO-friendly. Kriteria:

  • Huruf kecil semua (a-z)
  • Boleh mengandung angka (0-9)
  • Kata dipisahkan dengan dash (-)
  • Tidak boleh dimulai/akhiri dengan dash

โœ… Valid:

  • cara-debug-json-error
  • 10-tips-productivity
  • react-hooks-guide

โŒ Invalid:

  • -starts-with-dash
  • ends-with-dash-
  • Has_Uppercase

๐Ÿ”ง Cara Menggunakan Regex di Berbagai Bahasa

๐Ÿ“œ JavaScript

// Test email validation
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/;
const email = "user@example.com";

if (emailRegex.test(email)) {
    console.log("Valid email!");
}

// Extract matches
const text = "Contact: john@example.com, jane@test.com";
const emails = text.match(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/g);
console.log(emails); // ["john@example.com", "jane@test.com"]

๐Ÿ Python

import re

# Test email validation
email_regex = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$'
email = "user@example.com"

if re.match(email_regex, email):
    print("Valid email!")

# Find all matches
text = "Contact: john@example.com, jane@test.com"
emails = re.findall(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}', text)
print(emails)  # ['john@example.com', 'jane@test.com']

๐Ÿ˜ PHP

// Test email validation
$emailRegex = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/';
$email = "user@example.com";

if (preg_match($emailRegex, $email)) {
    echo "Valid email!";
}

// Find all matches
$text = "Contact: john@example.com, jane@test.com";
preg_match_all('/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/', $text, $matches);
print_r($matches[0]); // Array with emails

๐Ÿ’ก Tips & Best Practices

  • โœ“Gunakan regex tester online untuk test pattern sebelum implementasi
  • โœ“Comment regex yang kompleks agar mudah dipahami tim
  • โœ“Jangan gunakan regex untuk parsing HTML (gunakan DOM parser)
  • โœ“Test dengan berbagai edge cases (input kosong, special characters)
  • โœ“Pertimbangkan performance untuk regex yang kompleks
  • โœ“Gunakan non-capturing groups (?:...) jika tidak perlu capture
  • โœ“Pelajari flag regex: i (case-insensitive), g (global), m (multiline)

โœ… Kesimpulan

Menguasai regex pattern adalah investasi waktu yang sangat berharga untuk career developer Anda. 10 pattern yang dibahas di artikel ini adalah yang paling sering digunakan dalam pengembangan web sehari-hari.

Praktik terbaik adalah menyimpan pattern-pattern ini sebagai snippet atau reference pribadi. Anda juga bisa langsung test dan gunakan pattern ini di Regex Tester Ced DevTools.

๐Ÿ”— Tools Terkait

๐Ÿ‘จโ€๐Ÿ’ป

CED

Developer di Balik Ced DevTools

Solo DeveloperReact & TypeScriptBuilding in Public

Developer yang frustrasi dengan tools online yang lambat dan penuh iklan, jadi buat sendiri. Passionate dengan React, TypeScript, dan membuat hal-hal yang memudahkan developer lain. Ced DevTools adalah proyek pribadi โ€” tidak ada tim besar di balik ini.

๐Ÿ“…Published: Mar 3, 2026๐Ÿ”„Updated: Mar 3, 2026

๐Ÿ’ฌKomentar (3)

Tinggalkan Komentar

๐Ÿ’ก Email Anda tidak akan dipublikasikan. Semua komentar dimoderasi sebelum ditampilkan.

Berkomentar sebagai Anonymous User

๐Ÿ‘จโ€๐Ÿ’ป

Budi Santoso

Mar 5, 2026

Artikel yang sangat membantu! Saya sudah lama bingung dengan regex pattern untuk email validation. Sekarang jadi lebih paham.

๐Ÿ‘ฉโ€๐Ÿ’ป

Siti Nurhaliza

Mar 4, 2026

Mantap! Bisa langsung praktek di Regex Tester Ced DevTools. Thanks min!

๐Ÿง‘โ€๐Ÿ’ป

Andi Wijaya

Mar 3, 2026

Untuk password strength regex, apakah sudah cukup kuat kalau hanya menggunakan minimal 8 karakter tanpa special character?

๐Ÿ“‹ Panduan Berkomentar

  • โœ“Gunakan bahasa yang sopan dan respectful
  • โœ“Berbagi pengalaman atau pertanyaan yang relevan dengan artikel
  • โœ“Dilarang spam, promosi, atau link afiliasi
  • โœ—Dilarang hate speech, SARA, atau konten negatif lainnya