Validación de entradas y fundamentos del escape
Valide y normalice las entradas con pequeñas listas de permitidos y guardas; escape los caracteres de riesgo antes de mostrar el texto.
Validación de entradas y fundamentos del escape es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 3 lecciones en total.
Panorama general
Objetivo: Haga que las entradas sean previsibles y seguras.
- Use cláusulas de guarda para rechazar pronto
- Prefiera las listas de permitidos a las reglas imprecisas
- Normalice a una forma sencilla
- Escape los caracteres especiales antes de mostrar el texto

Conceptos básicos de las guardas para números
Añada guardas sencillas: compruebe el tipo, compruebe el rango y normalice al valor final.
// Validate age: number and range guard
function parseAge(input) {
// trim and parse
const n = Number(input);
if (!Number.isFinite(n)) return null; // reject non-numbers
if (n < 0 || n > 130) return null; // reject out-of-range
return Math.floor(n); // normalize to integer
}
console.log("age ok:", parseAge("21"));
console.log("age bad:", parseAge("twenty"));

Escapado para mostrar de forma segura
Antes de mostrar texto del usuario, escape los caracteres especiales para que la interfaz lo trate como texto sin formato.
// Escape a few risky characters before displaying in HTML contexts
function escapeText(s) {
if (typeof s !== "string") return "";
return s
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">")
.replaceAll("\"", """)
.replaceAll("'", "'");
}
console.log("escaped:", escapeText("<b>Hello & bye</b>"));

Listas de permitidos en la práctica
Prefiera las listas de permitidos para conjuntos fijos, como códigos o roles. Normalice las mayúsculas, minúsculas y los espacios.
// Allowlist example: only certain country codes
const ALLOWED = new Set(["TR", "US", "DE", "GB"]);
function parseCountry(code) {
if (typeof code !== "string") return null;
const up = code.trim().toUpperCase();
if (!ALLOWED.has(up)) return null; // reject unknown
return up; // normalized
}
console.log("country ok:", parseCountry("tr"));
console.log("country bad:", parseCountry("xx"));

Validador de objetos pequeño
Compruebe el tipo y los límites y, después, devuelva una estructura normalizada en la que el resto del código pueda confiar.
// Validate a tiny user object and normalize
function validateUser(input) {
if (typeof input !== "object" || input === null) return null;
const nameOk = typeof input.name === "string" && input.name.trim().length >= 1 && input.name.trim().length <= 40;
const ageOk = parseAge(input.age) !== null;
if (!nameOk || !ageOk) return null;
return {
name: input.name.trim(),
age: parseAge(input.age)
};
}
console.log("user ok:", validateUser({ name: " Ayla ", age: "22" }));
console.log("user bad:", validateUser({ name: "", age: "old" }));

Buenos hábitos defensivos
Consejos:
- Valide en los puntos de entrada (entrada del usuario y red).
- Use listas de permitidos, rangos y comprobaciones de tipos.
- Normalice una sola vez y mantenga sencillo el resto.
- Escape el texto antes de mostrárselo a los usuarios.

Cuestionario sobre fundamentos de la entrada defensiva
Comprobación rápida: patrón de entrada segura.

Resumen
Resumen: proteja desde el principio, use listas de permitidos, normalice a una estructura segura y escape antes de mostrar. Mantenga cada paso pequeño y legible.

Preguntas frecuentes
¿La lección «Validación de entradas y fundamentos del escape» es gratis?
Sí — el texto completo de «Validación de entradas y fundamentos del escape» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Validación de entradas y fundamentos del escape»?
Valide y normalice las entradas con pequeñas listas de permitidos y guardas; escape los caracteres de riesgo antes de mostrar el texto. Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar JavaScript Academy?
No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.
¿Cuánto tiempo toma la lección «Validación de entradas y fundamentos del escape»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?
Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Validación de entradas y fundamentos del escape
- Combinación segura de objetos, congelación y sellado
- Límites de errores (conceptuales) sin frameworks