javascript - JS utilisant eval pour créer la fonction de remplacement n'est pas valide
phpcn_u1582
phpcn_u1582 2017-07-05 10:47:23
0
1
790

Signification du code : Construisez un simple décodeur GADERYPOLUKI

Le GADERYPOLUKI est un chiffre de substitution simple utilisé dans le scoutisme pour crypter les messages. Le cryptage est basé sur une clé courte et facile à retenir. La clé est écrite sous forme de lettres appariées, qui sont dans le chiffre de remplacement simple.

exemple :

encode("ABCD", "agedyropulik"); // => GBCE

Le code est le suivant. Je souhaite utiliser la fonction eval pour créer une fonction qui peut remplacer des caractères, mais cela semble inutile.

function decode(str,key) { key = key.split('') while (key.length>0) { let b = key.pop(), a = key.pop(); eval(`str.replace(/${a}/g, "${b}")`) eval(`str.replace(/${a.toUpperCase()}/g, "${b.toUpperCase()}")`) eval(`str.replace(/${b}/g, "${a}")`) eval(`str.replace(/${b.toUpperCase()}/g, "${a.toUpperCase()}")`) console.log(a, b, str, `str.replace(/${a}/g, "${b}")`) } return str } console.log(decode("Hmdr nge brres", "gaderypoluki")) console.log("Hmdr nge brres".replace(/g/g, "a")) >>> k i Hmdr nge brres str.replace(/k/g, "i") l u Hmdr nge brres str.replace(/l/g, "u") p o Hmdr nge brres str.replace(/p/g, "o") r y Hmdr nge brres str.replace(/r/g, "y") d e Hmdr nge brres str.replace(/d/g, "e") g a Hmdr nge brres str.replace(/g/g, "a") Hmdr nge brres Hmdr nae brres
phpcn_u1582
phpcn_u1582

répondre à tous (1)
扔个三星炸死你

replace ne modifie pas la valeur d'origine, mais renvoie une nouvelle chaîne.

En fait, vous pouvez utilisernew RegExp(a, 'g')et vous n'avez pas besoin d'eval

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!