在初始字符串中,作为参数传递给rot 13
函数,字母的值移动了13个位置。因此' A' ↔' N',' B' ↔' O'等等。
我试图通过迭代字符串并使用if else
条件语句来解码它。但是,似乎OR(||)运算符无法正常工作。
" "值为32,所以它应保持不变,但这个特征的结果返回19,(因此仍然从32减去13)。
我的错误在哪里?
function rot13(str) {
var x = "";
var y = String.fromCharCode(x);
for (i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 65 || str.charCodeAt(i) < 78) {
x += str.charCodeAt(i) - 13 + ",";
} else if (str.charCodeAt(i) > 78 || str.charCodeAt(i) < 91) {
x += str.charCodeAt(i) + 13 + ",";
} else {
x += str.charCodeAt(i) + ",";
}
}
return x;
//returns '70,56,69,69,19,67,53,68,69,19,67,65,77,54,'
}
console.log(rot13("SERR PBQR PNZC"));
&#13;