我尝试重新创建最终与rot13.com类似的文本转换器。但是,我不知道如何将特定字符转换为另一个字符。如果我想输入;
例如
然后我希望输出为
rcszqar
更多;
abc> SNV
foo> GPP
bar> NST
我正在使用return String.fromCharCode((c <= 'Z' ? 90 : 122) >= (c = c.charCodeAt(0) + i) ? c : c - 26);
但无论我在该行中更改了哪些数字,都没有被正确替换。
答案 0 :(得分:0)
此处记录了该功能: http://stackoverflow.com/a/617685/987044
function rot(s, i) { return s.replace(/[a-zA-Z]/g, function (c) {
return String.fromCharCode((c <= 'Z' ? 90 : 122) >= (c = c.charCodeAt(0) + i) ? c : c - 26); }); } function update() { document.getElementById('output').value = rot(document.getElementById('input').value,
+document.getElementById('rot').value); }
调用函数时,唯一需要更改的数字是变量i
。例如
rot ("example", 13);//->"rcszqar"