使用javascript以字符替换字符()

使用javascript以字符替换字符(),javascript,replace,textarea,Javascript,Replace,Textarea,我正在尝试创建一个字符对字符的翻译器,类似于谷歌翻译,但对于字符,有点像解码器。这是我到目前为止所做的,但我被困在JavaScript的最后一行。我不知道我需要为replace()方法的后一部分加上replacement变量 <form> <textarea class="form-control" id="englishform" onkeyup="replacer('englishform')" onkeydown="replacer('englishform')

我正在尝试创建一个字符对字符的翻译器,类似于谷歌翻译,但对于字符,有点像解码器。这是我到目前为止所做的,但我被困在JavaScript的最后一行。我不知道我需要为replace()方法的后一部分加上
replacement
变量

<form>

    <textarea class="form-control" id="englishform" onkeyup="replacer('englishform')" onkeydown="replacer('englishform')" placeholder="Enter English" rows="15"></textarea><br />
</form>
<form>
    <textarea  class="form-control" id="albhedform" placeholder="Enter Al Bhed" rows="15"></textarea>
</form>


<script type="text/javascript">
function replacer(e){
    var replacement = ['y', 'p', 'l', 't', 'a', 'v', 'k', 'r', 'e', 'z', 'g', 'm', 's', 'h', 'u', 'b', 'x', 'n', 'c', 'd', 'i', 'j', 'f', 'q', 'o', 'w']; 
    var english = document.getElementById(e);
    var albhed = document.getElementById('albhedform');
    albhed.value = english.value.replace(/[a-z]/gi, replacement/*here is the issue */); 
}
</script>

有人能解释一下需要修复的是什么吗?

你的小提琴上的代码非常好。您只需要将语言更改为Babel+JSX,并删除JavaScript区域中的脚本标记。这里有一个简单的例子。只需按如下所示更改JavaScript

function replacer(e){
    var replacement = ['y', 'p', 'l', 't', 'a', 'v', 'k', 'r', 'e', 'z', 'g', 'm', 's', 'h', 'u', 'b', 'x', 'n', 'c', 'd', 'i', 'j', 'f', 'q', 'o', 'w']; 
    var english = document.getElementById(e);
    var albhed = document.getElementById('albhedform');
    albhed.value = english.value.replace(/[a-z]/gi, c => 
    replacement[c.toLowerCase().charCodeAt(0) - 97]);
}

这主要是因为浏览器中还不完全支持箭头功能。

所以您希望用相应的ASCII替换字符??这行代码为
。一旦我添加了结尾
,charCodeAt(0)-97
。哪一个输入示例不起作用?最后一个代码段就是您试图使用的代码吗?@Maazsyedeeb,我试图使用最后一个带有右括号的代码段,如下所示:
albhed.value=english.value.replace(/[a-z]/gi,c=>replacement[c.toLowerCase().charCodeAt(0)-97])似乎对我不起作用。@nnnnnnnn我输入的任何文本都不会显示在
albhedform
text区域,也不会翻译。我的目标是得到
'a'='y','b'='p','c'='l','d'='t','e'='a','f'='v','g'='k','h'='r','i'='e','j'='z','k'='g','l'='m','s','n'='h','o'='u','p'='b','q'='x','r'='n','s'='c','t'='t''d','u'='i','v'='w'='j''w','f'='x'='q'='w你说的是什么,但如果它仍然不起作用,那就不好了。谢谢你的努力
function replacer(e){
    var replacement = ['y', 'p', 'l', 't', 'a', 'v', 'k', 'r', 'e', 'z', 'g', 'm', 's', 'h', 'u', 'b', 'x', 'n', 'c', 'd', 'i', 'j', 'f', 'q', 'o', 'w']; 
    var english = document.getElementById(e);
    var albhed = document.getElementById('albhedform');
    albhed.value = english.value.replace(/[a-z]/gi, c => 
    replacement[c.toLowerCase().charCodeAt(0) - 97]);
}