0
JavaScriptを5日間学習した後、大文字と小文字のみを暗号化する関数を書きました。JavaScript暗号関数の空きスペース
問題は、フレーズでも機能するようにしようとしていることです(ユーザー入力が「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));
}
ちょうどヘッドアップ:あなたは 'do-while'ループを必要としません。一般的な' while'ループを使うことができ、おそらく動作します。 –