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>