Tengo un problema para convertir la entrada en HTML a criterios específicos:
Puedo lograr los dos últimos con esto:
value.replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ".");
¿Cómo agregar el primer criterio?
Y parece que mi expresión regular es demasiado larga, una más corta sería genial.
Eliminar todos menos los primeros cuatro dígitos:
const value = `123456` console.log( value.replace(/\D/g, "").replace(/^(\d{4})\d+/, '$1').replace(/\B(?=(\d{3})+(?!\d))/g, ".") )Usaría una máscara para la entrada,
("#id").inputmask({ mask: "9.999", placeholder: "", separator: "", });Luego para comprobar el valor,
value.replace('.','');y con una expresión regular para comprobar que es cierto que son solo dígitos y como máximo 4.
let regex_aux = /^\d{4}/; if(regex_aux.test(value)){ //do something }