Walidacja i drobne pułapki
Walidowanie całych łańcuchów za pomocą kotwic, unikanie zachłannego dopasowania, używanie granic słów, dodawanie prostych kontroli oraz pamiętanie o /g przy test()
Walidacja i drobne pułapki to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 3 lekcji w sumie.
Walidacja całego ciągu
Cel: Bezpieczne przeprowadzanie walidacji bez niespodzianek.
- Należy używać ^ i $, aby dopasować cały ciąg znaków
- Należy unikać zachłannego dopasowywania zbyt dużego fragmentu; w razie potrzeby używać leniwego *?
- Należy używać granic słów \\b
- Należy uważać na /g używane z test()

Kotwice w praktyce
Należy dodać ^ i $, aby nie dopuścić do przejścia częściowych dopasowań.
// 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"));

Unikanie nadmiernego dopasowania
Zachłanne .* przechwytuje najdłuższy zakres; należy dodać ?, aby uzyskać najkrótsze dopasowanie między znacznikami.
// 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);

Granice słów \\b
\\b dopasowuje granice między znakami słowa i znakami nienależącymi do słowa; jest przydatne przy dopasowywaniu całych słów.
// 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)

Bezpieczne łączenie sprawdzeń
W przypadku początkujących warto połączyć mały regex z dodatkowymi sprawdzeniami (przycinaniem i maksymalną długością). Należy unikać ogromnych wzorców.
// 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"));

Pułapka flagi globalnej
Flaga g przesuwa wewnętrzny kursor podczas używania test(). Przy zwykłym uzyskiwaniu wartości logicznych dla osobnych danych wejściowych należy pominąć 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"));

Quiz: kotwice w walidacji
Szybkie sprawdzenie: walidacja całego ciągu.

Podsumowanie
Podsumowanie: Należy walidować całe ciągi za pomocą ^...$, używać leniwego *?, aby unikać nadmiernego dopasowania, dodawać \\b do dopasowywania całych słów, łączyć małe wyrażenia regularne z prostymi dodatkowymi sprawdzeniami oraz unikać /g przy wielokrotnym wywoływaniu test().

Często zadawane pytania
Czy lekcja „Walidacja i drobne pułapki” jest bezpłatna?
Tak — pełny tekst „Walidacja i drobne pułapki” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Walidacja i drobne pułapki”?
Walidowanie całych łańcuchów za pomocą kotwic, unikanie zachłannego dopasowania, używanie granic słów, dodawanie prostych kontroli oraz pamiętanie o /g przy test() Ćwiczysz JavaScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć JavaScript Academy?
Nie wymagamy żadnego doświadczenia. JavaScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.
Ile czasu zajmuje lekcja „Walidacja i drobne pułapki”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji JavaScript Academy?
Tak. Każda lekcja JavaScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy wyrażeń regularnych — literały, test, kotwice i flagi
- Grupy, przechwytywanie i zamiana
- Walidacja i drobne pułapki