-3

ボタンにリンクしようとしている Rot13 JS 関数があります。予想される出力は、「ABC」と入力して [暗号化] ボタンを押すと、暗号化されたテキストが「NOP」になることです。

関数は現在、HTML のボタンにリンクされておらず、暗号化ボタンを押しても応答がありません。HTML に script タグを含めました。

編集:暗号化ツールはボタンにリンクされていますが、「ABC」を「ABC.

JavaScript:

function rot13() {
  var input = document.getElementById("box1").value;
  var output = [];

  for (var i = 0; i < input.length; i++) {
    var asciiNum = input[i].charCodeAt();
    if (asciiNum >= 65 && asciiNum <= 77) {
      output.push(String.fromCharCode(asciiNum + 13))
    } else if (asciiNum >= 78 && asciiNum <= 90) {
      output.push(String.fromCharCode(asciiNum - 13))
    } else {
      output.push(input[i])
    }
  }
  document.getElementById("box2").value = output.join('');
}
<div class="form">
        <input type="text" placeholder="plain text here..." name="plaintext" id="box1">
        <br>
        <button type="button" onclick="rot13()">Encrypt</button>
        <button type="button" onclick="rot13()">Decrypt</button>
        <br>
        <input type="text" placeholder="encrypted message here..." name="encryptedtext" id="box2">
      </div>

編集:JSを修正しました。

4

1 に答える 1