Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rot13函数根本不工作_Javascript - Fatal编程技术网

Javascript Rot13函数根本不工作

Javascript Rot13函数根本不工作,javascript,Javascript,我试图解决以下问题: 创建一个函数,该函数接受字符串并返回用Rot13加密的字符串。如果字符串中包含数字或特殊字符,则应按原样返回。只应移动拉丁/英语字母表中的字母,如原始Rot13“实现”中所示 我写了这段代码,但我不知道我做错了什么: function rot13(message){ var solved = ""; for (i=0; i<message.length; i++){ var asciiNum = message[i].charCodeAt();

我试图解决以下问题:

创建一个函数,该函数接受字符串并返回用Rot13加密的字符串。如果字符串中包含数字或特殊字符,则应按原样返回。只应移动拉丁/英语字母表中的字母,如原始Rot13“实现”中所示

我写了这段代码,但我不知道我做错了什么:

function rot13(message){
  var solved = "";
  for (i=0; i<message.length; i++){
    var asciiNum = message[i].charCodeAt();
    if (asciiNum >= 65 && asciiNum <= 77) {
      solved += String.fromCharCode(asciiNum + 13);
      } else if (asciiNum >= 78 && asciiNum <= 90) {
        solved += String.fromCharCode(asciiNum - 13);
      } else {
        solved += message[i];
      }
    }
    return solved;
}
功能rot13(消息){
var=”;

对于(i=0;i=65&&ascinum=78&&ascinum,您的代码只考虑大写字符

小写字符的ASCII值从97开始。

我通过以下方式更改代码来解决问题:

function rot13(text) {
    var source = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var target = "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM";
    var out = "";
    for (var l=0; l<text.length; l++) {
             var p = source.indexOf(text[l]);
             out += p>0 ? target[p] : text[l];
        }
    return out;
}
函数rot13(文本){
var source=“abcdefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyz”;
var target=“nopqrstuvxyzabcdefghijklmnopqrstuvxyzabcdefghijklm”;
var out=“”;
对于(var l=0;l0?目标[p]:文本[l];
}
返回;
}

预期的输出是什么?你得到了什么?“但我不知道我做错了什么。”–然后请先阅读。你在这里问错的是,你没有描述它是如何出错的,你也没有提供示例数据。