Javascript 如何在字母和非字母之间进行破译?

Javascript 如何在字母和非字母之间进行破译?,javascript,Javascript,我正在创建一个密码,它接受一个字符串,并将每个字母向前移动3个空格。例如,“Hello!”会变成“Khoor!”,但我遇到了一个障碍。当人们输入非字母的内容时,比如“!”或字母之间的空格,我希望能够返回该值。所以一个“!”将保持一个“!”和一个空间将保持一个空间。我想在循环中创建一个if语句来实现这一点,但是如何区分字母和非字母呢 附加的是我的循环,我希望能够放入一个if语句,这样它会读到“如果输入是非字母,那么返回输入。如果输入是字母,那么向前移动3个空格。” var字母表=[“a”、“b”、

我正在创建一个密码,它接受一个字符串,并将每个字母向前移动3个空格。例如,“Hello!”会变成“Khoor!”,但我遇到了一个障碍。当人们输入非字母的内容时,比如“!”或字母之间的空格,我希望能够返回该值。所以一个“!”将保持一个“!”和一个空间将保持一个空间。我想在循环中创建一个if语句来实现这一点,但是如何区分字母和非字母呢

附加的是我的循环,我希望能够放入一个if语句,这样它会读到“如果输入是非字母,那么返回输入。如果输入是字母,那么向前移动3个空格。”

var字母表=[“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=“你好,世界!”
var stringArr=string.split(“”)
var codedLet=[];
对于(变量i=0;i
有两种方法:

一种方法是使用
[a-zA-Z]{1}
类型的正则表达式,或者您可以尝试类似的方法

if(c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')

如果(c>='a'&&c='a'&&c如果您需要一个可以移动符号的密码,为什么不移动所有符号

请参见下面的代码段:

let string=“你好,世界!”
常量密码=(s)=>[…s]。减少(
(a,l)=>a+String.fromCodePoint(l.codePointAt()+3),“”)
常量解密=(s)=>[…s]。减少(
(a,l)=>a+String.fromCodePoint(l.codePointAt()-3),“”)
设cs=密码(字符串)
控制台日志(cs)

控制台日志(解密(cs))< /代码>您可以使用一个简单的正则表达式来确定字符是否在AZ或AZ范围内。可能的副本有多种方法来检查字符串是否是JavaScript中的一个数字,并且我想,如果要搜索的话,在STACKOPPORT中所有这些文件都有很好的文档记录。你自己的尝试,然后带着一些具体的例子来到这里,说明如果你不能弄明白什么是不起作用的。你为什么不使用ASCII码而不是字母数组呢?这肯定会涵盖更多的符号。
if(c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')