我正在嘗試爲類似於Google翻譯的字符翻譯器創建字符,但對於字符,有點像解碼器。這是迄今爲止我所擁有的,但我被困在JavaScript的最後一行附近。我不知道我需要把對replace()方法的後面部分與replacement
可變使用javascript字符替換()的字符
<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]"
albhed.value = english.value.replace(/[a-z]/gi, c => replacement[c.toLowerCase().charCodeAt(0) - 97]
有人能解釋需要修正信什麼信?
所以你想讓Char被替換爲相應的ASCII? – Zionz
一旦我添加了關閉''',那行'.charCodeAt(0)-97'就可以工作。什麼是它不起作用的輸入示例? – nnnnnn
是您正在嘗試使用的** _ exact _ **代碼的最後一個片段? –