Ask Your Question
3

In JavaScript, how can Caesar Cipher be implemented while disregarding special characters and spaces?

asked 2021-06-12 11:00:00 +0000

david gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2022-03-12 13:00:00 +0000

huitzilopochtli gravatar image

Here's one possible implementation:

function caesarCipher(str, shift) {
  let result = "";
  for (let i = 0; i < str.length; i++) {
    let code = str.charCodeAt(i);
    if (code >= 65 && code <= 90) { // uppercase
      result += String.fromCharCode(((code - 65 + shift) % 26) + 65);
    } else if (code >= 97 && code <= 122) { // lowercase
      result += String.fromCharCode(((code - 97 + shift) % 26) + 97);
    } else { // special character or space
      result += str.charAt(i);
    }
  }
  return result;
}

console.log(caesarCipher("Hello, World!", 3)); // "Khoor, Zruog!"

This implementation uses a loop to iterate through each character in the input string. For alphabetic characters (uppercase and lowercase), it shifts the character by the specified amount shift using modular arithmetic to wrap around the alphabet. For special characters and spaces, it simply adds them to the result without any encryption. The String.fromCharCode and str.charCodeAt functions are used to convert between characters and their ASCII codes.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2021-06-12 11:00:00 +0000

Seen: 11 times

Last updated: Mar 12 '22