Kenalan Dulu! Regular Expression di JavaScript Buat Apa Sih?
Pernah nggak sih kepikiran gimana cara ngecek apakah sebuah teks mengandung pola tertentu? Misalnya, kamu pengen validasi apakah email yang diinput user itu beneran format email, atau nyari nomor telepon di dalam teks panjang? Nah, di sinilah Regular Expression (RegExp) di JavaScript bisa jadi penyelamat!
Regular Expression, atau sering disingkat RegExp, adalah cara powerful buat mencari, mencocokkan, dan memanipulasi teks. Dengan RegExp, kamu bisa nyari pola di dalam string dengan lebih fleksibel dan efisien.
Apa Itu Regular Expression?
Regular Expression adalah sekumpulan karakter yang membentuk pola pencarian. Pola ini bisa dipakai buat mencari, mengganti, atau memvalidasi string dengan lebih mudah dibanding metode pencarian biasa seperti indexOf()
atau includes()
.
Di JavaScript, RegExp bisa dibuat dengan dua cara:
Menggunakan konstruktor RegExp
let regex = new RegExp("javascript");
Menggunakan literal RegExp
let regex = /javascript/;
Dua cara ini bakal bikin pola pencarian yang sama, yaitu "javascript".
Kenapa Harus Pakai Regular Expression?
Mungkin kamu mikir, kenapa harus ribet pakai RegExp kalau kita bisa pakai metode string biasa seperti includes()
? Jawabannya adalah fleksibilitas.
Pakai metode biasa, kamu cuma bisa ngecek apakah teks tertentu ada atau nggak dalam string. Tapi dengan RegExp, kamu bisa mencari pola yang lebih kompleks, seperti:
✅ Validasi format email, nomor telepon, kode pos, atau password
✅ Cari dan ubah semua angka dalam teks
✅ Ambil semua kata yang diawali huruf tertentu
✅ Memfilter input user dengan aturan tertentu
Misalnya, kamu pengen nyari semua kata "JavaScript" dalam teks, tanpa peduli besar kecil hurufnya:
let teks = "Saya suka JavaScript dan belajar javascript setiap hari!";
let regex = /javascript/i; // "i" = case insensitive
console.log(regex.test(teks));
// Output: true
Coba kalau pakai includes()
, harusnya case-sensitive:
console.log(teks.includes("javascript"));
// Output: true (tapi kalau inputnya "JavaScript" dengan huruf besar, hasilnya false)
Dengan RegExp, kita bisa bikin pencarian lebih fleksibel tanpa peduli besar kecil huruf!
Fitur-Fitur Keren di Regular Expression
1. Mencari Teks dengan test()
Mau cek apakah teks mengandung pola tertentu? Gunakan test()
!
let regex = /hello/;
console.log(regex.test("hello world"));
// Output: true
console.log(regex.test("halo dunia"));
// Output: false
Kalau test()
nemu pola yang cocok, dia bakal balikin true
. Kalau nggak, hasilnya false
.
2. Mengambil Pola dengan match()
Kalau kamu butuh ambil semua hasil pencocokan, pakai match()
.
Misalnya, kita mau ambil semua angka dalam teks:
let teks = "Nomor saya 08123456789 dan 08987654321";
let angka = teks.match(/\d+/g); // \d+ artinya cari semua angka
console.log(angka);
// Output: ["08123456789", "08987654321"]
\d+
berarti cari semua angka yang ada dalam teks!
3. Mengganti Pola dengan replace()
Kalau pengen ganti teks tertentu, kita bisa pakai replace()
!
Misalnya, kita mau mengganti semua angka dalam teks dengan tanda "X":
let teks = "Nomor saya 08123456789";
let hasil = teks.replace(/\d/g, "X");
console.log(hasil);
// Output: "Nomor saya XXXXXXXXXXX"
\d
berarti cari angka satuan dan g
(global) buat ngeganti semua angka.
Beberapa Contoh Pola RegExp
Kalau kamu mau mulai main dengan RegExp, ini beberapa pola dasar yang wajib dipahami:
Pola | Arti | Contoh |
---|---|---|
/hello/ |
Mencari kata "hello" dalam teks | "hello world" .test(/hello/) → true |
/\d+/ |
Mencari angka | "Harga: 15000" .match(/\d+/) → ["15000"] |
/\s/ |
Mencari spasi | "Hello World" .match(/\s/) → [" "] |
/^A/ |
Mencari kata yang diawali huruf "A" | "Apple" .match(/^A/) → ["A"] |
/ing$/ |
Mencari kata yang diakhiri "ing" | "coding" .match(/ing$/) → ["ing"] |
/[aeiou]/g |
Mencari semua huruf vokal | "hello" .match(/[aeiou]/g) → ["e", "o"] |
/[0-9]{3}/ |
Mencari tiga angka berurutan | "12345" .match(/[0-9]{3}/) → ["123"] |
Kesimpulan
Regular Expression itu ibarat senjata rahasia buat mencari, mengganti, dan memvalidasi teks dalam JavaScript. Dibandingkan metode string biasa, RegExp jauh lebih fleksibel dan bisa menangani pola yang lebih kompleks.
Kenapa harus belajar RegExp?
- Bisa validasi format input user (email, nomor HP, dll)
- Bisa cari dan ganti teks secara otomatis
- Bisa memfilter teks yang sesuai pola tertentu
Beberapa metode penting di RegExp:
test()
→ Cek apakah teks mengandung polamatch()
→ Ambil teks yang cocok dengan polareplace()
→ Ganti teks berdasarkan pola
Jadi, kalau kamu sering bekerja dengan teks atau data, skill Regular Expression ini wajib banget dikuasai!
Selamat eksplorasi dan happy coding!