Py学习  »  Jquery

jquery用字符映射后的其他字符替换字母时的“循环”[副本]

Arntjine • 4 年前 • 853 次点击  

我试图用jquery把每封信都换成另一封。有密码模式和解密模式。不幸的是,只有密码模式才有效。除字符似乎正在用字符映射的前两个字母替换所有字母,就好像是“循环”。这就是我被困的地方(是的,我是个新手。)

这是一把小提琴: http://jsfiddle.net/xpvt214o/692455/

以下是迄今为止我的代码:

$('#chiffrer').keyup(function (chiffrement) {
var chiffrer = {
u:'a',z:'b',b:'c',c:'d',a:'e',
d:'f',f:'g',g:'h',e:'i',h:'j',
j:'k',k:'l',l:'m',m:'n',i:'o',
n:'p',p:'q',q:'r',r:'s',s:'t',
o:'u',t:'v',v:'w',w:'x',x:'y',y:'z'
};
textechiffre = chiffrement.target.value;
for (var txt in chiffrer) {
    var temp = new RegExp(txt, 'gim');
    textechiffre = textechiffre.replace(temp, chiffrer[txt]);
    $('#resultat2').text(textechiffre);
}})

$('#dechiffrer').keyup(function (dechiffrement) {
var dechiffrer = {
a:'u',b:'z',c:'b',d:'c',e:'a',
f:'d',g:'f',h:'g',i:'e',j:'h',
k:'j',l:'k',m:'l',n:'m',o:'i',
p:'n',q:'p',r:'q',s:'r',t:'s',
u:'o',v:'t',w:'v',x:'w',y:'x',z:'y'
};
textedechiffre = dechiffrement.target.value;
for (var txt in dechiffrer) {
    var temp = new RegExp(txt, 'gim');
    textedechiffre = textedechiffre.replace(temp, dechiffrer[txt]);
    $('#resultat').text(textedechiffre);
}})
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37913
 
853 次点击  
文章 [ 1 ]  |  最新文章 4 年前
CertainPerformance
Reply   •   1 楼
CertainPerformance    5 年前

textechiffre

$('#resultat2').text(textechiffre.replace(/[a-z]/gi, char => chiffrer[char]));

$('#chiffrer').keyup(function(chiffrement) {
  var chiffrer = {
    u: 'a',
    z: 'b',
    b: 'c',
    c: 'd',
    a: 'e',
    d: 'f',
    f: 'g',
    g: 'h',
    e: 'i',
    h: 'j',
    j: 'k',
    k: 'l',
    l: 'm',
    m: 'n',
    i: 'o',
    n: 'p',
    p: 'q',
    q: 'r',
    r: 's',
    s: 't',
    o: 'u',
    t: 'v',
    v: 'w',
    w: 'x',
    x: 'y',
    y: 'z'
  };
  const textechiffre = chiffrement.target.value;
  $('#resultat2').text(textechiffre.replace(/[a-z]/gi, char => chiffrer[char]));

})

$('#dechiffrer').keyup(function(dechiffrement) {
  var dechiffrer = {
    a: 'u',
    b: 'z',
    c: 'b',
    d: 'c',
    e: 'a',
    f: 'd',
    g: 'f',
    h: 'g',
    i: 'e',
    j: 'h',
    k: 'j',
    l: 'k',
    m: 'l',
    n: 'm',
    o: 'i',
    p: 'n',
    q: 'p',
    r: 'q',
    s: 'r',
    t: 's',
    u: 'o',
    v: 't',
    w: 'v',
    x: 'w',
    y: 'x',
    z: 'y'
  };
  const textedechiffre = dechiffrement.target.value;
  $('#resultat').text(textedechiffre.replace(/[a-z]/gi, char => dechiffrer[char]));
})
body {
  font-family: monospace;
  font-size: 1.5rem;
}

textarea {
  width: 200px;
  height: 150px;
  margin: auto;
}

#container {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
}

textarea#dechiffrer {
  outline: none;
  background: rgba(78, 182, 185, 0.2);
}

textarea#dechiffrer,
textarea#dechiffrer::placeholder {
  color: rgba(95, 158, 160, 1);
}

textarea#chiffrer {
  outline: none;
  background: rgba(205, 92, 92, 0.2);
}

textarea#chiffrer,
textarea#chiffrer::placeholder {
  color: rgba(205, 92, 92, 1);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
  <textarea type="text" placeholder="decypher" name="dechiffrer" id="dechiffrer"></textarea>
  <textarea type="text" placeholder="cypher" name="chiffrer" id="chiffrer"></textarea>
</div>
<span id="resultat"></span><br>
<span id="resultat2"></span>