我看过其他页面,看看是否有一种方法可以用另一个字符替换所有出现的字符,到目前为止,我已经看到了在替换方法中使用正则表达式以及创建用于保存的哈希图的建议。所有要替换的值。经过一些手指魔术,我想出了这个:
function encodeMe(input) {
var chars = {
"f" : "o",
"o" : "b",
"a" : "r"
}
var encodedMessage = input.replace(/[^ -~]/g, function(chr) {
return (chr in chars) ? chars[chr] : "&#"+chr.charCodeAt(0)+";";
});
return encodedMessage;
}
问题是,如果我输入“ foo bar”,它将返回“ foo bar”而不是“ obb brr”。
我显然做错了,但我不知道该怎么办。有人可以帮我吗?
-
在末尾的字符组中移动[^ ~-]
。否则,您将创建一个range,并且表达式的意思是“不匹配(space)和之间的任何字符
~
”,该字符也包括字母。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句