我正在尝试编写一个函数,其中参数是一个字符串,需要替换一个特定的字符。然后它会给出一个包含已转换字符串的警告框。
我有以下代码,但它无效。我还想要alert()
转换后的字符串。
function encryption(aString){
return aString.replace(/a/g, '@')
.replace(/e/g, '()')
.replace(/h/g, '#')
.replace(/l/g,'1')
.replace(/r/g,'+')
.replace(/s/g.'$')
.replace(/v/g,'^')
.replace(/x/g,'*');
}
答案 0 :(得分:1)
答案 1 :(得分:1)
这里有两个问题:
.replace(/s/g.'$')
句点应为逗号,$
字符用于替换字符串中的替换代码,因此您必须将其转义为$$
:
.replace(/s/g, '$$')
您可以使用单个替换而不是链接所有替换:
function encryption(aString){
return aString.replace(/[aehlrsvx]/g, function (m) {
return m == 'e' ? '()' : '@#1+$^*'['ahlrsvx'.indexOf(m)];
});
}
// display result in StackOverflow snippet
document.write(encryption('The quick brown fox jumps over the lazy brown dog.'));