javascript - 从用户那里收集二进制数并在 JavaScript 中将其转换为十进制

标签 javascript binary

我正在尝试编写一个脚本来接受最多 8 个二进制元素,验证它们是否确实是二进制并以十进制数字显示它们的表示形式。我陷入了验证。我对编程还很陌生,我不知道如何解决这个问题。

function verify() {
    var numBin = document.getElementById('bin-input')
    var c = 0
    if (numBin.value == "" || numBin.value.length > 8 || isNaN(numBin) == "True"){
        alert('Write only 8 binary elements!')
    } else (while (numBin.value.length != c){
        if (numBin.length[c] == '0'|| numBin.length[c] == '1'){
            c ++
        } else {
            break
        }
        }){
            alert('Write only 0 and 1')
        }

}

这是我到目前为止所做的,但是 else if 内的 while 不起作用,我不知道如何修复它。我该如何解决这个问题?

最佳答案

这是一个如何工作的示例,如果您对特定代码行有任何疑问,请告诉我:)

function verifyAndConvert() {
  let input = document.getElementById('bn').value;
  if (verify(input)) {
    convert(input);
  }
}

function verify(input) {
  var numBin = input;
  var c = 0;
  var binaryFormat = /^[0-1]+$/;
  if (numBin.length > 8 || isNaN(numBin)) {
    alert('Write no more than 8 binary elements!');
  } else if (!numBin.match(binaryFormat)) {
    alert('Write only 0 and 1');
  } else {
    return true;
  }
  return false;
}

function convert(input) {
  alert(parseInt(input, 2));
}
<label for="fname">Binary Number:</label>
<input type="text" id="bn">
<button onclick="verifyAndConvert()">Verify and Convert</button>

关于javascript - 从用户那里收集二进制数并在 JavaScript 中将其转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60285247/

相关文章:

javascript - 未捕获的不变违规 : Rendered more hooks than during the previous render

haskell - 如何从 float 中提取二进分数

python - 使用加法器电路将两个 4 位二进制数相加

Java - 二进制标志 vector

javascript - 页面未链接到 Jquery

javascript - 使用 for 循环而不是为每个元素创建新的 var

javascript - Chrome 扩展 : adding a keyboard shortcut with Alt with addEventListener ('keypress' )

javascript - 如何使用模拟 api 调用测试 React 组件

c - 使用 memfd_create 和 fexecve 从内存运行 ELF

java - 二进制除法问题 : bad examples on internet or what am I missing?