Validasi dan Jebakan Kecil
Validasi string secara keseluruhan dengan anchor, hindari kecocokan berlebihan yang rakus, gunakan batas kata, tambahkan pemeriksaan ekstra sederhana, dan waspadai /g dengan test()
Validasi dan Jebakan Kecil adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 3 pelajaran total.
Validasi seluruh string
Tujuan: Lakukan validasi dengan aman tanpa kejutan.
- Gunakan ^ dan $ untuk mencocokkan seluruh string
- Hindari pencocokan berlebih akibat pola greedy; gunakan *? yang malas bila diperlukan
- Gunakan \\b sebagai batas kata
- Waspadai /g saat menggunakan test()

Jangkar dalam praktik
Tambahkan ^ dan $ agar kecocokan sebagian tidak lolos.
// Validate 4–6 digits ONLY (no spaces, no letters)
function isPin(text) {
const re = /^\\d{4,6}$/;
return re.test(text);
}
console.log("1234 ->", isPin("1234"));
console.log("12 34 ->", isPin("12 34"));
console.log("a123 ->", isPin("a123"));

Hindari pencocokan berlebih
.* yang greedy mengambil rentang terpanjang; tambahkan ? untuk mendapatkan kecocokan terpendek di antara penanda.
// Greedy (.*) vs lazy (.*?)
const text = "say \"hi\" and \"bye\"";
// Greedy: eats too much
const g = text.match(/".*"/);
console.log("greedy:", g && g[0]);
// Lazy: shortest between quotes
const l = text.match(/".*?"/g);
console.log("lazy:", l);

Batas kata \\b
\\b mencocokkan batas antara karakter kata dan bukan kata; berguna untuk mencocokkan kata secara utuh.
// Use \\b to match a whole word (not inside another)
const s = "restart start up";
console.log("has start word?", /\\bstart\\b/.test(s)); // true
console.log("matches restart?", /\\brestart\\b/.test(s)); // true
console.log("start inside restart?", /start/.test("restart")); // true (partial)

Gabungkan pemeriksaan dengan aman
Untuk pemula: padukan ekspresi reguler kecil dengan pemeriksaan tambahan (trim, panjang maksimum). Hindari pola yang sangat besar.
// Small, beginner-friendly email-like check (not RFC-complete)
// Strategy: small regex + extra length checks
function isEmailLite(text) {
if (typeof text !== "string") return false;
if (text.length > 254) return false; // cap length
const re = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/; // basic shape
return re.test(text.trim());
}
console.log("ok:", isEmailLite("a@b.co"));
console.log("bad space:", isEmailLite("a @b.co"));
console.log("too basic:", isEmailLite("abc"));

Hal yang perlu diwaspadai pada flag global
Flag g menggeser kursor internal saat test() digunakan. Untuk boolean biasa pada masukan yang terpisah, jangan gunakan g.
// Using /g with test() changes lastIndex and can surprise you
const r = /a/g;
console.log("1st:", r.test("a")); // true
console.log("2nd:", r.test("a")); // false (cursor moved)
console.log("3rd:", r.test("a")); // true again
// Safer: avoid /g when repeatedly calling test() on separate strings
function hasA(text) {
return /a/.test(text); // no g flag
}
console.log("safe:", hasA("a"), hasA("a"));

Kuis jangkar untuk validasi
Pemeriksaan singkat: Validasi seluruh string.

Ringkasan
Ringkasan: Validasi string secara utuh dengan ^...$, gunakan *? yang malas untuk menghindari pencocokan berlebih, tambahkan \\b untuk kata utuh, padukan ekspresi reguler kecil dengan pemeriksaan tambahan sederhana, dan hindari /g dengan pemanggilan test() berulang.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Validasi dan Jebakan Kecil” gratis?
Ya — teks lengkap “Validasi dan Jebakan Kecil” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Validasi dan Jebakan Kecil”?
Validasi string secara keseluruhan dengan anchor, hindari kecocokan berlebihan yang rakus, gunakan batas kata, tambahkan pemeriksaan ekstra sederhana, dan waspadai /g dengan test() Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai JavaScript Academy?
Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.
Berapa lama pelajaran “Validasi dan Jebakan Kecil” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?
Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar Regex — Literal, test, Anchor, dan Flag
- Grup, Capture, dan Replace
- Validasi dan Jebakan Kecil