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