国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - JS 利用eval構建replace函數無效

瀏覽:78日期:2023-03-23 17:02:31

問題描述

代碼含義:構建一個簡單的GADERYPOLUKI解碼器

The GADERYPOLUKI is a simple substitution cypher used in scouting to encrypt messages. The encryption is based on short, easy to remember key. The key is written as paired letters, which are in the cipher simple replacement.

example:

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

代碼如下,我想用eval函數構建出可以替換字符的函數,但是貌似沒有用。

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

問題解答

回答1:

replace 不會改變原有值,而是返回新串。

其實你可以用 new RegExp(a, ’g’) 就不需要 eval

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 拜泉县| 周口市| 大兴区| 陆川县| 故城县| 淳化县| 武宁县| 登封市| 宁海县| 吴桥县| 大港区| 广水市| 泸溪县| 南召县| 义马市| 敦化市| 九龙坡区| 夏津县| 新邵县| 玉田县| 老河口市| 朝阳市| 双流县| 叙永县| 永安市| 栖霞市| 胶南市| 江永县| 江都市| 平江县| 双峰县| 通化市| 常熟市| 垦利县| 苏尼特右旗| 东台市| 台东市| 苗栗县| 连平县| 玉龙| 东阳市|