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

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

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

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)

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

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

Quiz sur les ancres de validation
Vérification rapide : validation de la chaîne entière.

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

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
- Notions de base des expressions régulières — littéraux, test, ancres et indicateurs
- Groupes, captures et remplacement
- Validation et petits pièges