帮我写一个转换进制的页面,能够进行二、八、十六、十和自定义进制计算并且监听输入框实现输入后自动转换进制
时间: 2024-01-24 15:04:49 浏览: 61
二、十、十六进制转换
好的,我可以帮你实现这个页面。你需要在页面中添加一个输入框和一个下拉框,用于选择不同的进制类型。同时,你还需要添加一个输出框,用于显示计算结果。
下面是一个简单的实现方式,你可以参考一下:
```html
<!DOCTYPE html>
<html>
<head>
<title>进制转换器</title>
<meta charset="utf-8">
<style type="text/css">
.container {
margin: 50px auto;
width: 500px;
text-align: center;
}
input[type="text"], select {
padding: 10px;
font-size: 16px;
margin-bottom: 10px;
}
button {
padding: 10px 20px;
font-size: 16px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
.output {
padding: 10px;
font-size: 16px;
background-color: #f2f2f2;
border: 1px solid #ddd;
border-radius: 5px;
overflow: auto;
height: 100px;
}
</style>
</head>
<body>
<div class="container">
<label>输入数值:</label>
<input type="text" id="input" placeholder="请输入数值">
<br>
<label>进制类型:</label>
<select id="type">
<option value="2">二进制</option>
<option value="8">八进制</option>
<option value="10" selected>十进制</option>
<option value="16">十六进制</option>
<option value="custom">自定义</option>
</select>
<br>
<button onclick="convert()">转换</button>
<br>
<label>转换结果:</label>
<div class="output" id="output"></div>
</div>
<script type="text/javascript">
function convert() {
var input = document.getElementById("input").value.trim();
var type = document.getElementById("type").value;
var output = document.getElementById("output");
// 检查输入是否合法
if (!/^[0-9a-fA-F]+$/.test(input)) {
alert("输入不合法,请输入有效的数字!");
return;
}
// 将输入的数值转换为十进制
var decimal = parseInt(input, type);
// 根据选择的进制类型进行转换
if (type == "custom") {
type = prompt("请输入自定义进制数值(2-36):");
if (!/^[2-9]|[1-3][0-6]$/.test(type)) {
alert("自定义进制数值不合法,请输入有效的数字!");
return;
}
output.innerHTML = decimal.toString(type);
} else {
output.innerHTML = decimal.toString();
}
}
// 监听输入框的变化
document.getElementById("input").addEventListener("input", function() {
convert();
});
</script>
</body>
</html>
```
这个页面中,我们通过 JavaScript 实现了进制转换的功能。用户可以在输入框中输入任意进制的数值,并选择不同的进制类型进行转换。如果选择了自定义进制类型,还需要输入自定义的进制数值。转换结果将会显示在输出框中。同时,我们还监听了输入框的变化事件,实现了输入后自动转换进制的功能。
阅读全文