【发布时间】:2018-01-12 17:49:41
【问题描述】:
我正在页面 about:blank on chrome 上做一个这个项目,这意味着除了 JavaScript 之外没有其他代码。
我正在尝试使用我所拥有的知识来制作加密算法。到目前为止的代码如下:
function main() {
var input = prompt("Enter a string")
if (input.substring(0, 1) == "a") {
var _01 = "a"
var _01new = _01.replace("a", "1")
}
else if (input.substring(0, 1) == "b") {
var _01 = "b"
var _01new = _01.replace("b", "2")
}
else if (input.substring(0, 1) == "c") {
var _01 = "c"
var _01new = _01.replace("c", "3")
}
else if (input.substring(0, 1) == "d") {
var _01 = "d"
var _01new = _01.replace("d", "4")
}
else if (input.substring(0, 1) == "e") {
var _01 = "e"
var _01new = _01.replace("e", "5")
}
else if (input.substring(0, 1) == "f") {
var _01 = "f"
var _01new = _01.replace("f", "6")
}
else if (input.substring(0, 1) == "g") {
var _01 = "g"
var _01new = _01.replace("g", "7")
}
else if (input.substring(0, 1) == "h") {
var _01 = "h"
var _01new = _01.replace("h", "8")
}
else if (input.substring(0, 1) == "i") {
var _01 = "i"
var _01new = _01.replace("i", "9")
}
else if (input.substring(0, 1) == "j") {
var _01 = "j"
var _01new = _01.replace("j", "10")
}
else if (input.substring(0, 1) == "k") {
var _01 = "k"
var _01new = _01.replace("k", "11")
}
else if (input.substring(0, 1) == "l") {
var _01 = "l"
var _01new = _01.replace("l", "12")
}
else if (input.substring(0, 1) == "m") {
var _01 = "m"
var _01new = _01.replace("m", "13")
}
else if (input.substring(0, 1) == "n") {
var _01 = "n"
var _01new = _01.replace("n", "14")
}
else if (input.substring(0, 1) == "o") {
var _01 = "o"
var _01new = _01.replace("o", "15")
}
else if (input.substring(0, 1) == "p") {
var _01 = "p"
var _01new = _01.replace("p", "16")
}
else if (input.substring(0, 1) == "q") {
var _01 = "q"
var _01new = _01.replace("q", "17")
}
else if (input.substring(0, 1) == "r") {
var _01 = "r"
var _01new = _01.replace("r", "18")
}
else if (input.substring(0, 1) == "s") {
var _01 = "s"
var _01new = _01.replace("s", "19")
}
else if (input.substring(0, 1) == "t") {
var _01 = "t"
var _01new = _01.replace("t", "20")
}
else if (input.substring(0, 1) == "u") {
var _01 = "u"
var _01new = _01.replace("u", "21")
}
else if (input.substring(0, 1) == "v") {
var _01 = "v"
var _01new = _01.replace("v", "22")
}
else if (input.substring(0, 1) == "w") {
var _01 = "w"
var _01new = _01.replace("w", "23")
}
else if (input.substring(0, 1) == "x") {
var _01 = "x"
var _01new = _01.replace("x", "24")
}
else if (input.substring(0, 1) == "y") {
var _01 = "y"
var _01new = _01.replace("y", "25")
}
else if (input.substring(0, 1) == "z") {
var _01 = "z"
var _01new = _01.replace("z", "26")
}
else (input.substring(0, 1) == " ")
{
var _01 = " "
var _01new = _01.replace(" ", "27")
}
alert(_01new)
}
main()
我知道有很多代码,我将对其进行简化,但首先我试图让它工作。
我想要做的是,当用户输入一个字符串(当前是 1 个字母)时,它会找到第一个字母的值,检测它是什么,并将 _01 的值设置为用户输入的任何值,然后使用 _01.replace 将字母替换为其指定值(当前为字母数值)。
【问题讨论】:
-
你还没有问过问题。
-
_01.replace("a", "1")你为什么不干脆var _01new = 1? :)(我仍然不知道你在这种算法背后的想法......) -
你可能想谷歌“switch case javascript”。
-
为什么不用
rot13替换所有代码呢? stackoverflow.com/a/41627755/362536 -
我已经看到了一个你很快就会遇到的问题。如果你将
mm编码为1313告诉我,你怎么可能知道解码字符?它可以被解码为acac...(这只是四分之一)我建议你回到白板。