我正在尝试用javascript进行凯撒密码,对此我还很陌生。我知道我必须限制ascii,以便仅是字母。因为这样,如果我们插入字母“ z”和键“ 3”,它将不会给我们“ c”,而是其他。我尝试搜索,但似乎无法理解该怎么做。在此先感谢您的帮助。
var letter=readLine("letter?");
var key=parseInt(readLine("key?"));
var result= letter.charCodeAt(0)+key;
print(String.fromCharCode(result));
答案 0 :(得分:0)
如果我理解正确,它应该可以工作:
for(var i =0; i<letter.length;i++){
print(String.fromCharCode(letter.charCodeAt(i) + key))
}
答案 1 :(得分:0)
我知道这是一个过时的问题,但是由于没有人发布答案:
要仅移动字母,可以使用以下命令:
caesarCipher = (s, k) => {
let string = s;
string = string.replace(/[a-z]/g, str => String.fromCharCode((str.charCodeAt(0) - 97 + k) % 26 + 97));
string = string.replace(/[A-Z]/g, str => String.fromCharCode((str.charCodeAt(0) - 65 + k) % 26 + 65));
return string;
}