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()

Â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"));

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);

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)

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"));

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"));

Quiz sobre âncoras para validação
Verificação rápida: validação da cadeia inteira.

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().

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
- Fundamentos de expressões regulares — literais, test, âncoras e sinalizadores
- Grupos, capturas e substituição
- Validação e pequenas armadilhas