0

JavaScript を 5 日間学習した後、大文字と小文字のみを暗号化する関数を作成しました。

問題は、フレーズでも機能するようにしようとしていることです (ユーザー入力が「Cats are great」の場合、期待される出力は「Jhaz hyl nylha」です) が、空白をそのままにするのに問題があります。

に変更しようとし/^[a-zA-Z]+$/まし/^[a-zA-Z\s]+$/たが、うまくいきませんでした。

PS: はい、これは宿題でしたが、すでに成績を取得しています。学習を始めたばかりなので、機能を改善し、さらに学習するためにまだ取り組んでいます。どんな助けも感謝します.

function cipher() {

    do {
        word = prompt("write a word");

        var output = "";

        if (/^[a-zA-Z]+$/.test(word)) {
            for (var i = 0; i < word.length; i++) {
                var character = word.charCodeAt(i);
                var caesarCiphLow = ((character - 65 + 33) % 26 + 65);
                var caesarCiphUpp = ((character - 97 + 33) % 26 + 97);
                if (character >= 65 && character <= 90) {
                    output = output + String.fromCharCode(caesarCiphLow);
                } else if (97 <= character && character <= 122) {
                    output = output + String.fromCharCode(caesarCiphUpp);
                }
            }
            return prompt("Your ciphered text is", output);
        } else {
            alert("You must enter a word, without spaces or numbers");
        }
    } while (word === "" || !/^[a-zA-Z]+$/.test(word));

}
4

1 に答える 1