DevToolBoxFREE
BlogAdvertise

20 Pola Regex yang Dibutuhkan Setiap Developer: Contoh Siap Copy-Paste

11 menit bacaoleh DevToolBox

Berhenti menulis regex dari nol. Ini 20 pola teruji.

Uji pola dengan Regex Tester kami →

Pola Validasi

1. Email Address

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

Cocok: user@example.com, john.doe+tag@company.co.uk

Tidak cocok: user@, @example.com, user@.com

2. URL (HTTP/HTTPS)

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

Cocok: https://example.com, http://www.site.co.uk/path?q=1

3. Phone Number (International E.164)

^\+[1-9]\d{1,14}$

Cocok: +14155552671, +442071234567

Untuk nomor internasional. US: lihat pola #4.

4. US Phone Number

^(\+1)?[\s.-]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$

Cocok: (415) 555-2671, 415-555-2671, +1 415.555.2671

5. Strong Password

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

Persyaratan: 8+ karakter, huruf besar/kecil, angka, karakter khusus.

Cocok: MyP@ss1word | Tidak cocok: password, 12345678

6. IPv4 Address

^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$

Cocok: 192.168.1.1, 10.0.0.255

Tidak cocok: 256.1.1.1, 192.168.1

7. IPv6 Address (Simplified)

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

Alamat IPv6 lengkap seperti 2001:0db8:85a3:0000:0000:8a2e:0370:7334

8. Date (YYYY-MM-DD)

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

Cocok: 2026-01-15, 2025-12-31

Tidak cocok: 2026-13-01, 2026-00-15

Pola Ekstraksi

9. Extract All Emails from Text

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

Dengan flag global (g) temukan semua email.

10. Extract All URLs from Text

https?:\/\/[^\s<>\"']+

Pola URL lebih sederhana untuk ekstraksi.

11. Extract HTML Tags

<([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>(.*?)<\/\1>

Menangkap nama tag dan konten.

Untuk HTML kompleks: gunakan DOMParser atau cheerio.

12. Extract Numbers from String

-?\d+\.?\d*

Bilangan bulat dan desimal. 42, -3.14, 0.5

13. Extract Hashtags

#[a-zA-Z0-9_]+

Cocok: #javascript, #dev_tools, #React18

Pola Format

14. Credit Card Number (Basic)

^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$

Cocok: Visa, Mastercard, Amex, Discover.

Di produksi: gunakan prosesor pembayaran.

15. Hex Color Code

^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$

Cocok: #FFF, #FF5733, #FF573380

16. Semantic Version (SemVer)

^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$

Cocok: 1.0.0, 2.1.3-beta.1, 1.0.0+build.123

17. UUID (Any Version)

^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

Cocok: f47ac10b-58cc-4372-a567-0e02b2c3d479

Pemrosesan Teks

18. Trim Whitespace (Leading + Trailing)

^\s+|\s+$

Dengan replace untuk trim: text.replace(/^\\s+|\\s+$/g, '')

19. Multiple Spaces to Single Space

\s{2,}

Ganti dengan spasi tunggal: text.replace(/\\s{2,}/g, ' ')

20. Markdown Bold Text

\*\*(.+?)\*\*

Menangkap teks antara **.

Menggunakan Pola dalam Kode

// JavaScript
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
emailRegex.test('user@example.com'); // true

// Python
import re
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
re.match(pattern, 'user@example.com')  # Match object

// Java
Pattern pattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");
pattern.matcher("user@example.com").matches(); // true

Uji semua pola dengan Regex Tester →

Pertanyaan Umum

Apakah pola ini kompatibel dengan semua bahasa?

Ya, sintaks regex standar untuk JS, Python, Java, C#, Go, PHP, Ruby.

Gunakan regex untuk validasi email di produksi?

Untuk pemeriksaan format dasar, pola ini cukup. Validasi sejati hanya dengan email konfirmasi.

Perbedaan quantifier greedy dan lazy?

Greedy (*, +, ?): cocok sebanyak mungkin. Lazy (*?, +?, ??): seminimal mungkin.

Apakah ini membantu?

Stay Updated

Get weekly dev tips and new tool announcements.

No spam. Unsubscribe anytime.

Partner Picks

Sponsor this article

Place your product next to this developer topic with tracked clicks.

Ask about article sponsorship

This site uses cookies for analytics and to display ads. By continuing to browse, you agree. Privacy Policy