Ciao, in gergo tecnico, l'operazione di anteporre una serie di zeri per completare un numero prestabilito di cifre ad una stringa, è detta "zero padding" (o "leading zeros"), letteralmente "imbottitura di zero iniziali". Puoi fare qualche ricerca con termini del genere per reperire maggiori informazioni.
Considera che JavaScript non ha una funzione nativa per compiere questa operazione, come può essere invece per altri linguaggi di programmazione, ma con qualche ricerca puoi trovare delle soluzioni più o meno semplici per mettere su una funzione del genere.
Dovrai quindi costruirti prima di tutto questa funzione che, passando un valore, lo restituisca imbottito degli zeri. A quel punto puoi richiamarla sull'evento oninput dell'elemento input in questione (e/o sull'onkeyup e/o sull'onchange) passandogli ad esempio il valore attraverso this.value, per cui il valore restituito dovrà essere "riapplicato" al value nell'input stesso.
Tieni conto che puoi incontrare delle difficoltà sulla gestione del valore passato alla funzione che la prima volta potrebbe essere un numero senza zeri iniziali ma, una volta che sarà applicato il padding, la seconda volta la funzione riceverà quello stesso valore con gli zeri. In tal caso dovrai ripulire il valore dagli eventuali zeri prima di riapplicare il padding; potresti semplicemente convertirlo in valore numerico prima di eseguire il padding.
Più facile a farsi che a dirsi.
Per il momento ti ho dato qualche input su cui lavorare, vedi se riesci a combinare qualcosa da te con qualche ricerca; se incontri problemi fai sapere.
Qualcuno potrebbe comunque fornirti qualcosa di già pronto ma personalmente preferisco che almeno si prov primai a costruire qualcosa da se stessi, avendo ovviamente le opportune informazioni su come procedere.
Buon proseguimento.