0Pricing
JavaScript Academy · Leçon

Validation et petits pièges

Validez des chaînes entières avec des ancres, évitez les correspondances gloutonnes trop étendues, utilisez les limites de mots, ajoutez de simples vérifications supplémentaires et méfiez-vous de /g avec test()

Validation et petits pièges est une leçon JavaScript Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage JavaScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours JavaScript Academy comprend 3 leçons au total.

Validation de la chaîne entière

Objectif : valider sans risque ni surprise.

  • Utilisez ^ et $ pour faire correspondre la chaîne entière
  • Évitez les correspondances trop larges et gourmandes ; utilisez *? en mode paresseux si nécessaire
  • Utilisez les limites de mots \\b
  • Méfiez-vous de /g avec test()
Validation et petits pièges — illustration 1

Les ancres en pratique

Ajoutez ^ et $ afin que les correspondances partielles ne passent pas inaperçues.

// 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"));
Validation et petits pièges — illustration 2

Éviter les correspondances trop larges

Le .* gourmand capture la plage la plus longue ; ajoutez ? pour obtenir la correspondance la plus courte entre les marqueurs.

// 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);
Validation et petits pièges — illustration 3

Limites de mots \\b

\\b correspond aux limites entre les caractères de mot et les autres caractères ; c’est utile pour cibler des mots entiers.

// 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)
Validation et petits pièges — illustration 4

Combiner les vérifications en toute sécurité

Pour les débutants : associez une petite expression régulière à des vérifications supplémentaires (trim, longueur maximale). Évitez les expressions énormes.

// 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"));
Validation et petits pièges — illustration 5

Piège de l’indicateur global

L’indicateur g déplace un curseur interne lors de l’appel à test(). Pour obtenir de simples booléens sur des entrées distinctes, omettez 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"));
Validation et petits pièges — illustration 6

Quiz sur les ancres de validation

Vérification rapide : validation de la chaîne entière.

Validation et petits pièges — illustration 7

Récapitulatif

Récapitulatif : validez les chaînes entières avec ^...$, utilisez *? en mode paresseux pour éviter les correspondances trop larges, ajoutez \\b pour cibler des mots entiers, associez de petites expressions régulières à de simples vérifications supplémentaires et évitez /g avec des appels répétés à test().

Validation et petits pièges — illustration 8

Questions Fréquemment Posées

La leçon « Validation et petits pièges » est-elle gratuite ?

Oui — le texte complet de « Validation et petits pièges » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours JavaScript Academy, passe à CoddyKit PRO. Le cours JavaScript Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Validation et petits pièges » ?

Validez des chaînes entières avec des ancres, évitez les correspondances gloutonnes trop étendues, utilisez les limites de mots, ajoutez de simples vérifications supplémentaires et méfiez-vous de /g… Tu pratiques JavaScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer JavaScript Academy ?

Aucune expérience préalable n'est requise. JavaScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 3.

Combien de temps prend la leçon « Validation et petits pièges » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon JavaScript Academy ?

Oui. Chaque leçon JavaScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Notions de base des expressions régulières — littéraux, test, ancres et indicateurs
  2. Groupes, captures et remplacement
  3. Validation et petits pièges
← Retour à JavaScript Academy