En este post te mostraré una función en JavaScript para agregar un carácter cada determinado número de caracteres.
Por ejemplo, agregar un guión cada 4 dígitos o cada 6 dígitos, es decir, rellenar la cadena agregando algo en el centro.
Debemos recorrer la cadena e ir cortándola (con substring
) en porciones del paso, una vez que está cortada le agregamos el carácter.
Por ejemplo, si queremos agregar un guión cada 4 caracteres entonces extraemos pedazos de 4 caracteres en la cadena y al final agregamos el relleno.
Si la longitud de la cadena no es exacta, no importa, pues comprobamos si al cortar no iremos más allá de la longitud.
Ahora veamos la función:
const agregarCaracter = (cadena, caracter, pasos) => {
let cadenaConCaracteres = "";
const longitudCadena = cadena.length;
for (let i = 0; i < longitudCadena; i += pasos) {
if (i + pasos < longitudCadena) {
cadenaConCaracteres += cadena.substring(i, i + pasos) + caracter;
} else {
cadenaConCaracteres += cadena.substring(i, longitudCadena);
}
}
return cadenaConCaracteres;
}
Tenemos una función que recibe, en orden, la cadena a la que se le agregará el carácter, el carácter que se agrega y finalmente cada cuánto colocar ese carácter.
Por ejemplo, si tenemos algo como AF00AFEE
y queremos poner guiones cada 2 letras, podemos hacer lo siguiente:
let clave = "AF00AFEE";
console.log(agregarCaracter(clave, "-", 2));
// => AF-00-AF-EE
De este modo podemos agregar cualquier carácter de relleno cada N caracteres dentro de una cadena en JavaScript.
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…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.