0Pricing
JavaScript Academy · Lezione

Validazione e piccoli problemi comuni

Validi stringhe intere con gli ancoraggi, eviti le corrispondenze eccessivamente greedy, usi i confini di parola, aggiungi semplici controlli extra e fai attenzione a /g con test().

Validazione e piccoli problemi comuni è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 3 lezioni in totale.

Validazione dell'intera stringa

Obiettivo: validare in sicurezza senza sorprese.

  • Usare ^ e $ per trovare una corrispondenza nell'intera stringa
  • Evitare corrispondenze eccessive greedy; quando serve, usare il quantificatore lazy *?
  • Usare i \\b confini di parola
  • Prestare attenzione a /g con test()
Validazione e piccoli problemi comuni — illustrazione 1

Gli ancoraggi nella pratica

Aggiunga ^ e $ affinché le corrispondenze parziali non passino inosservate.

// 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"));
Validazione e piccoli problemi comuni — illustrazione 2

Evitare le corrispondenze eccessive

.* greedy cattura l'intervallo più lungo; aggiunga ? per ottenere la corrispondenza più breve tra i marcatori.

// 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);
Validazione e piccoli problemi comuni — illustrazione 3

Confini di parola \\b

\\b corrisponde ai confini tra caratteri di parola e caratteri che non lo sono; è utile per trovare parole intere.

// 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)
Validazione e piccoli problemi comuni — illustrazione 4

Combinare i controlli in sicurezza

Per chi sta imparando: abbini una regex semplice a controlli aggiuntivi (trim, lunghezza massima). Eviti i pattern troppo complessi.

// 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"));
Validazione e piccoli problemi comuni — illustrazione 5

Insidia del flag globale

Il flag g sposta un cursore interno durante test(). Per ottenere semplici valori booleani su input separati, ometta 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"));
Validazione e piccoli problemi comuni — illustrazione 6

Quiz sugli ancoraggi per la validazione

Controllo rapido: validazione dell'intera stringa.

Validazione e piccoli problemi comuni — illustrazione 7

Riepilogo

Riepilogo: validi le stringhe complete con ^...$, usi *? lazy per evitare corrispondenze eccessive, aggiunga \\b per le parole intere, abbini regex semplici a controlli aggiuntivi essenziali ed eviti /g nelle chiamate ripetute a test().

Validazione e piccoli problemi comuni — illustrazione 8

Domande Frequenti

La lezione «Validazione e piccoli problemi comuni» è gratuita?

Sì — il testo completo di «Validazione e piccoli problemi comuni» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 3 lezioni in totale.

Cosa imparerò in «Validazione e piccoli problemi comuni»?

Validi stringhe intere con gli ancoraggi, eviti le corrispondenze eccessivamente greedy, usi i confini di parola, aggiungi semplici controlli extra e fai attenzione a /g con test(). Eserciti JavaScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare JavaScript Academy?

Non è richiesta alcuna esperienza precedente. JavaScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.

Quanto tempo richiede la lezione «Validazione e piccoli problemi comuni»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione JavaScript Academy?

Sì. Ogni lezione JavaScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Basi delle regex — letterali, test, ancoraggi e flag
  2. Gruppi, catture e replace
  3. Validazione e piccoli problemi comuni
← Torna a JavaScript Academy