JavaScript中的Caesar密码返回意外结果
Caesar cipher in JavaScript returning unexpected results
我正在创建一个网页,在不使用jquery的情况下计算一个简单的Caesar密码。我找不到错误,也不知道如何将新字符串返回到文本区域。
HTML:
<input type="button" value="Encrypt value = 1" onclick ="caesarEncipher(shift, text)"/>
javascript:
function caesarEncipher(shift, plaintext) {
this.shift = shift;
this.plaintext = plaintext;
var ciphertext
for (var i = 0; i < plaintext.length; i++) {
// ASCII value - get numerical representation
// 65 = 'A' 90 = 'Z'
var encode = plaintext.charCodeAt(i);
if (encode >= 65 && encode <= 90)
// Uppercase
ciphertext += String.fromCharCode((encode - 65 + shift) % 26 + 65);
// 97 = 'a' 122 = 'z'
else if (encode >= 97 && encode <= 122)
// Lowercase
ciphertext += String.fromCharCode((encode - 97 + shift) % 26 + 97);
else
ciphertext += input.charAt(i);
}
return document.getElementById = ciphertext; <-- Not sure about this
}
http://jsfiddle.net/y9rv6bux/
function encrypt(id, shiftId)
{
var t = document.getElementById(id), out = '';
var shift = parseInt(document.getElementById(shiftId).value);
var txt = t.value, ranges = [[65,90],[97,122]];
for(var i = 0; i < txt.length; i++)
{
var code = txt.charCodeAt(i);
for(var j = 0; j < ranges.length; j++)
{
if (code >= ranges[j][0] && code <= ranges[j][1])
{
code = ((code - ranges[j][0] + shift) %
(ranges[j][1] - ranges[j][0] + 1)) + ranges[j][0];
break;
}
}
out += String.fromCharCode(code);
}
t.value = out;
}
<textarea id='t'></textarea><br><input type='text' id='s' value='1'><br>
<input type='button' onclick='encrypt("t", "s")' value='Go'>
相关文章:
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- Javascript:函数返回意外结果
- 意外结果,在 ASP.Net 中解析 JSON 对象的数组
- 按位或意外结果
- 来自 JavaScript 循环的意外结果
- 从 JavaScript 中的图像中读取像素数据会返回半透明像素的意外结果
- 在 JS 中短路空数组会产生意外结果:“[] ||真 == []'
- NodeJS中的Parse Json文件在Node中显示意外结果
- 基于给出意外结果的提示输入的逻辑
- JavaScript Regexp.test返回意外结果
- 键控产生意外结果.HTML5游戏
- Javascript do/while循环显示意外结果
- 来自 CSS 和 jQuery 的意外结果
- MongoDB mapReduce方法意外结果
- 具有意外结果的 Javascript 函数参数
- 在 JavaScript 中解析日期字符串的意外结果
- 从内部HTML更改为表单时获得意外结果,输入类型文本字段
- 在计算链逻辑表达式 JavaScript 时出现意外结果
- 意外结果 - 谷歌自动完成针对约克郡
- JavaScript unshift 参数返回意外结果