JSFiddle - React, Tailwind, and code Playground
by Roko
HTML
<input type="text" class="js_leading_zero" value="JS000000" maxlength=8>
JavaScript
const prefix = "JS";
const modifyVal = (ev) => {
const EL = ev.currentTarget;
let str = EL.value.replace(/\D/g, "");
str += EL.dataset.key;
const int = parseInt(str);
str = String(int).padStart(6, "0");
if (str.length === 6)
EL.value = prefix + str;
};
const rememberKey = (ev) => {
ev.preventDefault();
const EL = ev.currentTarget;
EL.dataset.key = ev.key;
};
const ELs_inp = document.querySelectorAll(".js_leading_zero");
ELs_inp.forEach(EL => EL.addEventListener("keydown", rememberKey));
ELs_inp.forEach(EL => EL.addEventListener("keyup", modifyVal));