Descubre cómo usar String.prototype.charCodeAt() en JavaScript
Aprende a trabajar con caracteres Unicode y códigos de caracteres en tu proyecto
La función String.prototype.charCodeAt() es una herramienta útil en JavaScript que permite obtener el código Unicode de un carácter específico dentro de una cadena de texto. Esta función se puede utilizar en situaciones comunes de programación, como la validación de caracteres y la manipulación de cadenas de texto.
Ejemplo 1: Convertir una cadena a códigos ASCII
const cadena = "Hola Mundo";
for (let i = 0; i < cadena.length; i++) {
const codigo = cadena.charCodeAt(i);
console.log(`Carácter ${i}: ${cadena[i]} - Código ASCII: ${codigo}`);
}
Este ejemplo itera a través de cada caracter en la cadena «Hola Mundo» y utiliza el método charCodeAt() para obtener el código ASCII de cada carácter. Luego, imprime los resultados en la consola.
Ejemplo 2: Comprobar si un carácter está dentro de una cadena
const cadena = "Hola Mundo";
let encontrado = false;
for (let i = 0; i < cadena.length; i++) {
if (cadena.charCodeAt(i) === 'M'.charCodeAt(0)) {
encontrado = true;
break;
}
}
console.log(`El carácter "M" está presente en la cadena: ${encontrado}`);
Este ejemplo itera a través de cada caracter en la cadena «Hola Mundo». Utiliza el método charCodeAt() para obtener el código ASCII del carácter ‘M’ y luego compara este código con el de cada carácter en la cadena. Si encuentra un carácter que tenga el mismo código ASCII que ‘M’, establece la variable encontrado en true y salta del bucle utilizando break.
Ejemplo 3: Encontrar el primer carácter en mayúscula
const cadena = "Hola Mundo";
for (let i = 0; i < cadena.length; i++) {
if (cadena.charCodeAt(i) >= 'A'.charCodeAt(0) && cadena.charCodeAt(i) <= 'Z'.charCodeAt(0)) {
console.log(`El primer carácter en mayúscula es: ${cadena[i]}`);
break;
}
}
Este ejemplo itera a través de cada caracter en la cadena «Hola Mundo». Utiliza el método charCodeAt() para obtener el código ASCII de cada carácter y luego comprueba si el carácter es una letra mayúscula. Si encuentra un carácter que cumpla con esta condición, imprime el resultado en la consola y salta del bucle utilizando break.
Ejemplo 4: Contar cuántas veces aparece un carácter en una cadena
const cadena = "Hola Mundo";
let contador = 0;
for (let i = 0; i < cadena.length; i++) {
if (cadena.charCodeAt(i) === 'o'.charCodeAt(0)) {
contador++;
}
}
console.log(`El carácter "o" aparece ${contador} veces en la cadena`);
Este ejemplo itera a través de cada caracter en la cadena «Hola Mundo». Utiliza el método charCodeAt() para obtener el código ASCII del carácter ‘o’ y luego compara este código con el de cada carácter en la cadena. Si encuentra un carácter que tenga el mismo código ASCII que ‘o’, incrementa el contador. Al final, imprime el resultado en la consola.
Ejemplo 5: Reemplazar todos los espacios por guiones bajos
const cadena = "Hola Mundo";
const nuevaCadena = cadena.replace(/ /g, '_');
console.log(nuevaCadena); // "Hola_Mundo"
Este ejemplo utiliza el método replace() en conjunto con la expresión regular / /g para buscar todos los espacios en blanco en la cadena «Hola Mundo». Luego, reemplaza cada espacio encontrado por un guion bajo. La nueva cadena resultante es «Hola_Mundo».
Ejemplo 6: Validar si una cadena contiene solo caracteres alfanuméricos
const cadena = "Hola123";
let esValido = true;
for (let i = 0; i < cadena.length; i++) {
if (!(cadena.charCodeAt(i) >= 'A'.charCodeAt(0) && cadena.charCodeAt(i) <= 'Z'.charCodeAt(0) ||
cadena.charCodeAt(i) >= 'a'.charCodeAt(0) && cadena.charCodeAt(i) <= 'z'.charCodeAt(0) ||
cadena.charCodeAt(i) >= '0'.charCodeAt(0) && cadena.charCodeAt(i) <= '9'.charCodeAt(0))) {
esValido = false;
break;
}
}
console.log(`La cadena "${cadena}" es válida: ${esValido}`);
Este ejemplo itera a través de cada caracter en la cadena «Hola123». Utiliza el método charCodeAt() para obtener el código ASCII de cada carácter y luego comprueba si el carácter es una letra (mayúscula o minúscula) o un número. Si encuentra un carácter que no cumpla con esta condición, establece la variable esValido en false y salta del bucle utilizando break. Al final, imprime el resultado en la consola.
Conclusión
Utiliza String.prototype.charCodeAt() para mejorar la seguridad de tus aplicaciones al validar caracteres y evitar ataques de inyección de código, así como para manipular cadenas de texto en tu proyecto. Asegúrate de comprender su funcionamiento correctamente y prueba diferentes escenarios para asegurarte de que estás manejando correctamente los caracteres Unicode y sus respectivos códigos.