Вращение текста с использованием шифра ROT13 в JavaScript: методы и примеры

Чтобы повернуть текст с помощью шифра ROT13 в JavaScript, вы можете использовать следующие методы:

Метод 1: использование цикла

function rotate13(text) {
  var result = "";
  for (var i = 0; i < text.length; i++) {
    var c = text.charCodeAt(i);
    if (c >= 65 && c <= 90) {
      result += String.fromCharCode((c - 65 + 13) % 26 + 65);
    } else if (c >= 97 && c <= 122) {
      result += String.fromCharCode((c - 97 + 13) % 26 + 97);
    } else {
      result += text.charAt(i);
    }
  }
  return result;
}
var rotatedText = rotate13("Hello, World!");
console.log(rotatedText); // Output: "Uryyb, Jbeyq!"

Метод 2: использование регулярных выражений

function rotate13(text) {
  return text.replace(/[a-zA-Z]/g, function (c) {
    var base = c <= "Z" ? 65 : 97;
    return String.fromCharCode((c.charCodeAt(0) - base + 13) % 26 + base);
  });
}
var rotatedText = rotate13("Hello, World!");
console.log(rotatedText); // Output: "Uryyb, Jbeyq!"

Метод 3. Использование сопоставления массивов

function rotate13(text) {
  return text
    .split("")
    .map(function (c) {
      var base = c <= "Z" ? 65 : 97;
      return String.fromCharCode((c.charCodeAt(0) - base + 13) % 26 + base);
    })
    .join("");
}
var rotatedText = rotate13("Hello, World!");
console.log(rotatedText); // Output: "Uryyb, Jbeyq!"