如果当前字符为 A - M 之间,对应的 ASCII 码范围就是 65 - 77,那么 ROT13 加密应该给它的 ASCII 码加 13
如果当前字符为 N - Z 之间,对应的 ASCII 码范围就是 78 - 90,那么 ROT13 加密应该给它的 ASCII 码减 13
如果当前字符为其他 (小写,空格或特殊符号),那就不应该执行任何操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
function rot13(str) { let result = "";
for (let i = 0; i < str.length; i++) { const currentCode = str[i].charCodeAt(); if (currentCode > 90 || currentCode < 65) { // 非大写字符 result += String.fromCharCode(currentCode); } else if (currentCode < 78) { // 大写字符 A - M result += String.fromCharCode(currentCode + 13); } else { // 大写字符 N - Z result += String.fromCharCode(currentCode - 13); } }