如何只打印字母?

时间:2018-10-23 18:57:00

标签: javascript

我正在尝试用javascript进行凯撒密码,对此我还很陌生。我知道我必须限制ascii,以便仅是字母。因为这样,如果我们插入字母“ z”和键“ 3”,它将不会给我们“ c”,而是其他。我尝试搜索,但似乎无法理解该怎么做。在此先感谢您的帮助。

 var letter=readLine("letter?");
 var key=parseInt(readLine("key?"));
 var result= letter.charCodeAt(0)+key;
 print(String.fromCharCode(result));

2 个答案:

答案 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;
}