Cek Kecocokan Teks dengan RegExp.test() di JavaScript

Cek Kecocokan Teks dengan RegExp.test() di JavaScript
Photo by Patrick Tomasso / Unsplash

Pernah nggak sih, kamu kepikiran gimana cara cek apakah suatu teks mengandung pola tertentu? Misalnya, kamu pengen tahu apakah suatu string mengandung kata “JavaScript” atau kamu mau ngecek apakah input user berformat email yang bener.

Di sinilah Regular Expression (RegExp) berperan, dan salah satu metode paling simpel yang bisa kamu pakai adalah test().

Apa Itu RegExp.test()?

test() adalah metode dalam Regular Expression yang digunakan buat ngecek apakah suatu teks mengandung pola tertentu. Kalau cocok, dia bakal balikin true, kalau nggak cocok, dia bakal balikin false.

Sintaks test()

regex.test(string)
  • regex → pola yang mau dicari
  • string → teks yang mau dicek

Hasilnya true kalau cocok, dan false kalau nggak cocok.

Contoh Dasar test()

Misalnya, kita mau cek apakah sebuah teks mengandung kata “JavaScript”.

let regex = /JavaScript/;
let teks = "Saya sedang belajar JavaScript!";

console.log(regex.test(teks)); 
// Output: true

Karena string "Saya sedang belajar JavaScript!" mengandung kata "JavaScript", maka test() bakal balikin true.

Tapi coba kalau teksnya nggak ada "JavaScript":

let teksLain = "Saya suka coding!";
console.log(regex.test(teksLain)); 
// Output: false

Karena "JavaScript" nggak ditemukan, hasilnya false.

Bikin Pencarian Jadi Lebih Fleksibel

Tahu nggak sih kalau test() bisa lebih fleksibel dengan menggunakan flags di RegExp? Ada beberapa flags yang bisa bikin pencarian jadi lebih powerful!

1. Case-Insensitive (i)

Biasanya, RegExp itu case-sensitive alias peduli sama besar kecil huruf. Jadi kalau kita cari "JavaScript", tapi di teksnya "javascript", hasilnya tetap false.

let regex = /JavaScript/;
console.log(regex.test("javascript adalah bahasa favorit saya"));
// Output: false

Nah, biar pencariannya nggak peduli sama huruf besar/kecil, kita bisa pakai flag i (case-insensitive):

let regex = /JavaScript/i;
console.log(regex.test("javascript adalah bahasa favorit saya"));
// Output: true

Dengan i, baik "JavaScript", "JAVASCRIPT", atau "javascript" semua bakal cocok!

2. Global Search (g)

Kalau kamu mau ngecek lebih dari satu kecocokan, pakai flag g (global search). Walaupun test() sendiri cuma balikin true/false, tapi dengan kombinasi g, kita bisa ngecek lebih luas.

Misalnya, kita mau ngecek apakah ada lebih dari satu angka dalam teks:

let regex = /\d/g;  // \d buat nyari angka
let teks = "Hari ini tanggal 12 bulan 3 tahun 2024";

console.log(regex.test(teks)); 
// Output: true

Teks "Hari ini tanggal 12 bulan 3 tahun 2024" mengandung angka "12", "3", dan "2024", jadi test() bakal balikin true.

Validasi Input User dengan test()

Salah satu penggunaan test() yang paling berguna adalah buat validasi input user, seperti cek email, nomor telepon, atau password.

1. Cek Format Email

Misalnya, kita mau cek apakah user masukin email dengan format yang bener:

let emailRegex = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i;

console.log(emailRegex.test("[email protected]"));  // true
console.log(emailRegex.test("salah.email.com"));  // false
console.log(emailRegex.test("[email protected]"));        // false
console.log(emailRegex.test("[email protected]"));   // true

👉 Regex ini memastikan bahwa format email punya:
✔ Nama sebelum @
✔ Domain setelah @
✔ Ekstensi .com, .org, .id, dll.

2. Cek Nomor Telepon

Misalnya kita mau ngecek apakah input user adalah nomor HP Indonesia yang valid:

let phoneRegex = /^08[0-9]{9,10}$/;

console.log(phoneRegex.test("081234567890")); // true
console.log(phoneRegex.test("6281234567890")); // false (harus 08 di awal)
console.log(phoneRegex.test("08123abc890"));  // false (ada huruf)
console.log(phoneRegex.test("1234567890"));   // false (harus 08 di awal)

👉 Regex ini memastikan nomor HP harus:
✔ Dimulai dari 08
✔ Panjangnya 10-12 digit
✔ Hanya boleh berisi angka

3. Cek Password

Buat cek apakah password user cukup kuat, kita bisa pakai regex juga:

let passwordRegex = /^(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*]).{8,}$/;

console.log(passwordRegex.test("Password123!")); // true
console.log(passwordRegex.test("password123"));  // false (nggak ada huruf besar)
console.log(passwordRegex.test("PASSWORD!"));   // false (nggak ada angka)
console.log(passwordRegex.test("Pass123"));     // false (kurang dari 8 karakter)

👉 Regex ini memastikan password harus punya:
Minimal 8 karakter
Minimal satu huruf besar
Minimal satu angka
Minimal satu simbol (!@#$%^&*)

Kesimpulan

Metode test() di Regular Expression itu super simpel tapi powerful banget buat cek kecocokan teks dalam string. Dengan test(), kita bisa: ✅ Cari teks di dalam string
Bikin pencarian lebih fleksibel dengan flags (i, g)
Validasi input user seperti email, nomor telepon, dan password

🔥 Kenapa harus pakai test()?

  • Simpel, cuma balikin true atau false
  • Cocok buat validasi teks dengan pola tertentu
  • Bisa dipakai buat banyak keperluan, dari pencarian kata sampai validasi input user

Kalau kamu sering kerja dengan teks atau input user, pahami test(), karena ini bakal bantu banget dalam coding sehari-hari!

Sekarang, cobain langsung di console browser atau di kode kamu sendiri! Happy coding!