JavaScript 数値を指定桁数にして不足分を先頭から0埋めする(ゼロパディング)

最終更新日

数値を指定した桁数で揃える場合には、「slice()」メソッドを使います。slice()メソッドは、指定した数だけ文字列を抜き出すことができます。その際に負数を指定すると、文字列の右側から指定した文字数を抜き出します。「0」で構成された文字列と連結した後でslice()メソッドを使うことで、指定した桁数に揃えることができます。

<body>
<h1>ゼロパディング</h1>
<form>
    <input type="text" id="num" value="5963">
</form>
<script>
    window.addEventListener("load" , function(){
        var ele = document.getElementsByTagName("output")[0];
        //テキストフィールドに入力されたらリアルタイムに結果を表示
        document.getElementById("num").onkeyup = function(){
            ele.innerHTML = zeroPadding(this.value,8);
        }
        //指定した桁数を揃える。不足分は0で埋める
        function zeroPadding(num, count){
            //2番目のパラメータが省略された場合は8桁にする
            count = count || 8;
            //ゼロの文字を指定した桁数だけ生成
            var zero = "";
            for(var i=0; i<count; i++){
                zero = zero +"0";
            }
            //ゼロで埋める
            var n = (zero+num).slice(-count);
            return n;
        }
    }, false);
</script>
    <output></output>
</body>
実行結果
実行結果