0Pricing
JavaScript Academy · Aula

Validação e pequenas armadilhas

Valide strings inteiras com âncoras, evite correspondências gananciosas demais, use limites de palavras, adicione verificações extras simples e tenha cuidado com /g em test()

Validação e pequenas armadilhas é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 3 aulas no total.

Validação da cadeia inteira

Objetivo: validar com segurança e sem surpresas.

  • Use ^ e $ para corresponder à cadeia inteira
  • Evite correspondências excessivas gananciosas; use *? não ganancioso quando necessário
  • Use os limites de palavra \\b
  • Tenha cuidado com /g junto de test()
Validação e pequenas armadilhas — ilustração 1

Âncoras na prática

Adicione ^ e $ para que correspondências parciais não passem despercebidas.

// 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"));
Validação e pequenas armadilhas — ilustração 2

Evitar correspondências excessivas

.* ganancioso captura o intervalo mais longo; adicione ? para obter a correspondência mais curta entre marcadores.

// 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);
Validação e pequenas armadilhas — ilustração 3

Limites de palavra \\b

\\b corresponde aos limites entre caracteres de palavra e caracteres que não são de palavra; é útil para palavras inteiras.

// 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)
Validação e pequenas armadilhas — ilustração 4

Combinar verificações com segurança

Para iniciantes: combine uma expressão regular pequena com verificações adicionais (remover espaços, comprimento máximo). Evite padrões enormes.

// 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"));
Validação e pequenas armadilhas — ilustração 5

Armadilha do sinalizador global

O sinalizador g move um cursor interno ao usar test(). Para obter valores booleanos simples em entradas separadas, não use 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"));
Validação e pequenas armadilhas — ilustração 6

Quiz sobre âncoras para validação

Verificação rápida: validação da cadeia inteira.

Validação e pequenas armadilhas — ilustração 7

Recapitulação

Recapitulação: valide cadeias inteiras com ^...$, use *? não ganancioso para evitar correspondências excessivas, adicione \\b para palavras inteiras, combine expressões regulares pequenas com verificações adicionais simples e evite /g em chamadas repetidas de test().

Validação e pequenas armadilhas — ilustração 8

Perguntas Frequentes

A aula “Validação e pequenas armadilhas” é grátis?

Sim — o texto completo de “Validação e pequenas armadilhas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 3 aulas no total.

O que vou aprender em “Validação e pequenas armadilhas”?

Valide strings inteiras com âncoras, evite correspondências gananciosas demais, use limites de palavras, adicione verificações extras simples e tenha cuidado com /g em test() Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar JavaScript Academy?

Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.

Quanto tempo leva a aula “Validação e pequenas armadilhas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de JavaScript Academy?

Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos de expressões regulares — literais, test, âncoras e sinalizadores
  2. Grupos, capturas e substituição
  3. Validação e pequenas armadilhas
← Voltar para JavaScript Academy