Validering och vanliga fallgropar
Validera hela strängar med ankare, undvik girig övermatchning, använd ordgränser, lägg till enkla extra kontroller och se upp med /g tillsammans med test().
Validering och vanliga fallgropar är en gratis lektion i JavaScript Academy på CoddyKit. Detta är lektion 3 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för JavaScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i JavaScript Academy innehåller totalt 3 lektioner.
Validering av hela strängar
Mål: Validera säkert utan överraskningar.
- Använd ^ och $ för att matcha hela strängen
- Undvik girig övermatchning och använd lazy *? när det behövs
- Använd \\b för ordgränser
- Se upp med /g tillsammans med test()

Ankare i praktiken
Lägg till ^ och $ så att delvisa matchningar inte slinker igenom.
// 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"));

Undvik övermatchning
Giriga .* fångar det längsta intervallet. Lägg till ? för den kortaste matchningen mellan markörerna.
// 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);

Ordgränser \\b
\\b matchar gränser mellan ordtecken och icke-ordtecken och är användbart för hela ord.
// 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)

Kombinera kontroller på ett säkert sätt
För nybörjare: kombinera en liten regex med extra kontroller (trimning, maximal längd). Undvik stora mönster.
// 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"));

Fallgrop med global flagga
Flaggan g flyttar en intern pekare vid test(). Hoppa över g när enkla booleska resultat behövs för separata indata.
// 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"));

Quiz om ankare för validering
Snabb kontroll: Validering av hela strängar.

Sammanfattning
Sammanfattning: Validera hela strängar med ^...$, använd lazy *? för att undvika övermatchning, lägg till \\b för hela ord, kombinera små regexar med enkla extra kontroller och undvik /g vid upprepade anrop till test().

Lär dig JavaScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 59
- Lektioner
- 200
Vanliga frågor
Är lektionen ”Validering och vanliga fallgropar” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen JavaScript Academy, inklusive ”Validering och vanliga fallgropar”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i JavaScript Academy innehåller totalt 3 lektioner.
Vad lär jag mig i ”Validering och vanliga fallgropar”?
Validera hela strängar med ankare, undvik girig övermatchning, använd ordgränser, lägg till enkla extra kontroller och se upp med /g tillsammans med test(). Ni övar på JavaScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig JavaScript Academy?
Du behöver inga förkunskaper. Utbildningen i JavaScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.
Hur lång tid tar lektionen ”Validering och vanliga fallgropar”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här JavaScript Academy-lektionen?
Ja. Varje JavaScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grunderna i regex — literaler, test, ankare och flaggor
- Grupper, fångster och Replace
- Validering och vanliga fallgropar