JavaScript Academy · Les

Validatie en kleine valkuilen

Valideer volledige tekenreeksen met ankers, voorkom te gulzige matches, gebruik woordgrenzen, voeg eenvoudige extra controles toe en let op /g met test()

Les 3 van 38 stappen

Validatie en kleine valkuilen is een gratis JavaScript Academy-les op CoddyKit. Dit is les 3 van 3. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject JavaScript Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus JavaScript Academy bevat in totaal 3 lessen.

Validatie van volledige tekenreeksen

Doel: Veilig valideren zonder verrassingen.

  • Gebruik ^ en $ om met de volledige tekenreeks overeen te komen
  • Vermijd te ruime overeenkomsten; gebruik indien nodig de luie *?
  • Gebruik \\b als woordgrenzen
  • Pas op met /g in combinatie met test()
Validatie en kleine valkuilen — illustratie 1

Ankers in de praktijk

Voeg ^ en $ toe, zodat gedeeltelijke overeenkomsten er niet doorheen glippen.

// 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"));
Validatie en kleine valkuilen — illustratie 2

Te ruime overeenkomsten vermijden

De hebzuchtige .* pakt het langste bereik; voeg ? toe voor de kortste overeenkomst tussen markeringen.

// 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);
Validatie en kleine valkuilen — illustratie 3

Woordgrenzen \\b

\\b komt overeen met grenzen tussen woord- en niet-woordtekens; nuttig voor hele woorden.

// 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)
Validatie en kleine valkuilen — illustratie 4

Controles veilig combineren

Voor beginners: combineer een kleine regex met extra controles (trimmen, maximale lengte). Vermijd enorme patronen.

// 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"));
Validatie en kleine valkuilen — illustratie 5

Valkuil van de globale vlag

De vlag g verplaatst een interne cursor bij test(). Laat g weg voor gewone booleaanse resultaten bij afzonderlijke invoer.

// 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"));
Validatie en kleine valkuilen — illustratie 6

Quiz over ankers voor validatie

Snelle controle: Validatie van volledige tekenreeksen.

Validatie en kleine valkuilen — illustratie 7

Samenvatting

Samenvatting: Valideer volledige tekenreeksen met ^...$, gebruik de luie *? om te ruime overeenkomsten te vermijden, voeg \\b toe voor hele woorden, combineer kleine regexes met eenvoudige extra controles en vermijd /g bij herhaalde aanroepen van test().

Validatie en kleine valkuilen — illustratie 8
Gratis beginnen

Leer JavaScript met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
59
Lessen
200

Veelgestelde vragen

Is de les “Validatie en kleine valkuilen” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad JavaScript Academy, waaronder “Validatie en kleine valkuilen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus JavaScript Academy bevat in totaal 3 lessen.

Wat leer ik in “Validatie en kleine valkuilen”?

Valideer volledige tekenreeksen met ankers, voorkom te gulzige matches, gebruik woordgrenzen, voeg eenvoudige extra controles toe en let op /g met test() Je oefent met JavaScript Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met JavaScript Academy te beginnen?

Ervaring vooraf is niet nodig. JavaScript Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 3.

Hoe lang duurt de les “Validatie en kleine valkuilen”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over JavaScript Academy?

Ja. Elke les over JavaScript Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. De basis van regex — literals, test, ankers en flags
  2. Groepen, captures en replace
  3. Validatie en kleine valkuilen
← Terug naar JavaScript Academy