Validointi ja pienet sudenkuopat
Validoi kokonaisia merkkijonoja ankkureilla, vältä ahnetta ylimääräistä osumaa, käytä sananrajoja ja yksinkertaisia lisätarkistuksia sekä varo /g-lippua test()-metodin kanssa
Validointi ja pienet sudenkuopat on ilmainen JavaScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu JavaScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.
Koko merkkijonon validointi
Tavoite: Validoi turvallisesti ilman yllätyksiä.
- Käytä merkkejä ^ ja $ vastaamaan koko merkkijonoa
- Vältä ahnetta yliosumaa; käytä tarvittaessa laiskaa merkintää *?
- Käytä sananrajoja \\b
- Varo /g-lippua test()-metodin kanssa

Ankkurit käytännössä
Lisää ^ ja $, jotta osittaiset osumat eivät pääse läpi.
// 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"));

Vältä yliosumia
Ahne .* nappaa pisimmän alueen; lisää ?, jotta saat merkkien välistä lyhimmän osuman.
// 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);

Sananrajat \\b
\\b vastaa sana- ja muiden merkkien välisiä rajoja; siitä on hyötyä kokonaisille sanoille.
// 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)

Yhdistä tarkistukset turvallisesti
Aloittelijoille: yhdistä pieni regex ja ylimääräiset tarkistukset (trim, enimmäispituus). Vältä valtavia kuvioita.
// 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"));

Globaalin lipun sudenkuoppa
g-lippu siirtää sisäistä kohdistinta jokaisella test()-kutsulla. Jos tarvitset erillisille syötteille vain totuusarvon, jätä g pois.
// 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"));

Ankkurit validoinnin testissä
Pikatarkistus: koko merkkijonon validointi.

Kertaus
Kertaus: Validoi kokonaiset merkkijonot merkinnällä ^...$, käytä laiskaa merkintää *? yliosumien välttämiseen, lisää \\b kokonaisia sanoja varten, yhdistä pienet regexit yksinkertaisiin lisätarkistuksiin ja vältä /g-lippua toistuvien test()-kutsujen yhteydessä.

Opi JavaScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 59
- Oppitunnit
- 200
Usein kysytyt kysymykset
Onko oppitunti ”Validointi ja pienet sudenkuopat” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa JavaScript Academy-oppimispolun 3 oppituntia, myös oppitunnin “Validointi ja pienet sudenkuopat”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Validointi ja pienet sudenkuopat”?
Validoi kokonaisia merkkijonoja ankkureilla, vältä ahnetta ylimääräistä osumaa, käytä sananrajoja ja yksinkertaisia lisätarkistuksia sekä varo /g-lippua test()-metodin kanssa Harjoittelet JavaScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni JavaScript Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin JavaScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.
Kuinka kauan ”Validointi ja pienet sudenkuopat”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä JavaScript Academy-oppitunnilla?
Kyllä. Jokainen JavaScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Regulaaristen lausekkeiden perusteet — literaalit, test, ankkurit ja liput
- Ryhmät, kaappaukset ja korvaaminen
- Validointi ja pienet sudenkuopat