JavaScript 10進数/26進数変換

■10進数を26進数に変換します。
26進数は「A」をゼロとし、「Z」を25とするようにしました。
■また26進数を10進数に変換することもできる。
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>10進数 -> 16進数</title>
<script>
var hexList = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
var hexStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
window.onload =function() {
var intValue = document.getElementById("intValue");
var hexValue = document.getElementById("hexValue");
var convert = document.getElementById("convert");
var convert10 = document.getElementById("convert10");
}
function doConvert() {
if (isNaN(intValue.value)) {
// 数値ではない場合
aleart("数値を入力して下さい。");
} else {
doConvert2();
}
}
function doConvert2() {
let data1 = intValue.value;
let data2;
//var outDat=""; // = new Array(10);
var outDat = new Array(10);
for (let i=0; i<10; i++)
{
outDat[i] = -1;
}
var ix=0;
while (true)
{
data2 = Math.floor(data1 / 26);
outDat[ix] = data1 % 26;
if (data2 == 0) break;
data1 = data2;
ix++;
}
var outStr="";
for (var i = ix ; i>=0; i--) {
outStr += hexList[outDat[i]];
}
hexValue.value = outStr;
}
function doConvert10() {
let data1 = hexValue.value;
let data2 = 0;
let data3 = 0;
//var outDat=""; // = new Array(10);
var outDat = new Array(10);
data2 = data1
for (let ix = 0; ix < data1.length; ix++)
{
data2 = hexStr.indexOf(data1.charAt(ix));
if (data2 < 0) {
alert("入力値エラー");
break;
}
data3 = data2 + data3 * 26;
}
intValue.value = data3;
}
</script>
</head>
<body>
<p>10進数<input type="text" id="intValue" size="5" value=""></p>
<p><input type="button" id="convert" size="3" value="変換10->26" onclick="doConvert()"></p>
<p>26進数<input type="text" id="hexValue" size="5" value=""></p>
<p><input type="button" id="convert10" size="3" value="変換26->10" onclick="doConvert10()"></p>
</body>
</html>