Ok, ok, ich kann nicht glauben, dass ich mir die Mühe mache, einen Antrag zu stellen. eine andere Antwort auf diese Frage, aber ich denke, mein Ansatz ist ein wenig anders. Der Grund, warum ich eine Zahl auffüllen musste, war, dass ich sie in einem <pre>
Element (Teil eines Bildschirmprotokolls), so dass es letztendlich sowieso eine Zeichenfolge sein wird. Anstatt zu rechnen, habe ich eine einfache Funktion geschrieben, um einen Zeichenfolgenwert über eine Maskenzeichenfolge zu legen:
function overlayr(m, s) {
return m.length > s.length ? m.substr(0, m.length - s.length) + s : s;
}
Das hat den Vorteil, dass ich es für alle möglichen Aufgaben der Zeichenfolgenausrichtung verwenden kann. Um es aufzurufen, geben Sie einfach die Maske und die Nummer als String ein:
> overlayr('00000', (5).toString())
< "00005"
Ein zusätzlicher Bonus ist die korrekte Behandlung von Überläufen:
> overlayr('00000', (555555).toString())
< "555555"
Und natürlich ist es nicht auf 0 Polsterung beschränkt:
> overlayr('*****', (55).toString())
< "***55"