Hoy voy a mostrarte una función de JavaScript para saber si una cadena o carácter es un dígito, es decir, un número del 0 al 9. Para ello vamos a usar el código ASCII y la función charCodeAt
.
Al final tendremos una función que nos permitirá saber si un carácter de JavaScript es un dígito, la cual funciona del lado del cliente y del servidor.
Voy a basarme en el funcionamiento de isalpha del buen C.
La función recibe una cadena. Obtiene el código ASCII y devuelve un booleano (true
o false
) indicando si la cadena es un dígito. Cabe mencionar que si la cadena tiene más de un carácter, solo el primero será tomado en cuenta.
/**
* Saber si carácter es dígito con JavaScript
*
* https://parzibyte.me/blog
*
*/const esDigito = (caracter) => {
let ascii = caracter.charCodeAt(0);
return ascii > 47 && ascii < 58;
}
Si el código ASCII va desde el 48 hasta el 57 entonces es un dígito del 0 al 9. Recuerda que estamos usando funciones flecha.
Ahora veamos unas pruebas de esta función. Defino un arreglo de caracteres y por cada uno pruebo a la función:
/**
* Saber si carácter es dígito con JavaScript
*
* https://parzibyte.me/blog
*
*/const esDigito = (caracter) => {
let ascii = caracter.charCodeAt(0);
return ascii > 47 && ascii < 58;
}
// Probar
const caracteres = ["A","B","0","4","_","9", " "];
caracteres.forEach(caracter => {
console.log("¿'%s' es dígito? %s", caracter, esDigito(caracter));
});
/*
Salida:
¿'A' es dígito? false
¿'B' es dígito? false
¿'0' es dígito? true
¿'4' es dígito? true
¿'_' es dígito? false
¿'9' es dígito? true
¿' ' es dígito? false
*/
Como ves, la salida es correcta y el algoritmo cumple con su función. Por cierto, como lo dije al inicio, esta función trabaja en el lado del cliente y del lado del servidor con Node.
También te invito a ver más sobre JavaScript en mi blog.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.