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

时间:2017-06-13 02:44:43

标签: javascript replace textarea

我试图创建一个类似于谷歌翻译的角色翻译角色,但对于Chars来说,有点像解码器。这是我到目前为止所做的,但我已经陷入了JavaScript的最后一行。我不知道我需要用replacement变量替换replace()方法的后一部分

<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>

所以问题在于replace()方法的后半部分。我似乎无法使用"c => replacement[c.toLowerCase().charCodeAt(0) - 97]"

将正则表达式括号替换为letter
albhed.value = english.value.replace(/[a-z]/gi, c => replacement[c.toLowerCase().charCodeAt(0) - 97]

有人可以解释需要解决的问题吗?

1 个答案:

答案 0 :(得分:0)

你的小提琴上的代码完全没问题。您只需将语言更改为Babel + JSX并删除JavaScript区域中的脚本标记即可。这是一个fiddle就是这么做的。只需更改您的JavaScript,如下所示

[CustomValidation(typeof(YourModel), nameof(ValidateSendThemCatalog))]
public bool? SendThemCatalog { get; set; }

这主要是因为浏览器尚未完全支持箭头功能。