【发布时间】:2018-06-26 17:18:32
【问题描述】:
我正在创建一个密码,它接受一个字符串并更改每个字母以向前移动 3 个空格。例如“你好!”会变成“Khoor!”,但我遇到了障碍。当人们输入不是字母的东西时,比如“!”或字母之间的空格,我希望能够返回该值。所以一个“!”会留下一个“!”一个空间将保持一个空间。我想在循环内创建一个 if 语句来完成此操作,但是如何区分字母和非字母呢?
附加的是我的循环,我希望能够放入一个 if 语句,这样它就会显示“如果输入是非字母,则返回输入。如果输入是一个字母,则向前移动 3 个空格。”
var alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
var string = "Hello World!"
var stringArr = string.split("")
var codedLet = [];
for (var i = 0; i < string.length; i++) {
var input = stringArr[i].toLowerCase()
var codedNum = alphabet.indexOf(input) + 3
codedLet[i] = alphabet[codedNum]
}
【问题讨论】:
-
您可以使用简单的正则表达式来确定字符是否在 A-Z 或 a-z 的范围之间。
-
有多种方法可以在 JavaScript 中检查字符串是否为数字,我想如果您要搜索的话,所有这些方法都在 StackOverflow 上得到了很好的记录。考虑做一些更多的研究并自己做一些尝试,然后如果你想不通,就来这里提供不起作用的具体示例。
-
为什么不使用 ASCII 码代替字母数组?那肯定会涵盖更多符号。
标签: javascript