【发布时间】:2014-01-26 02:01:05
【问题描述】:
我查看了其他页面,看看是否有办法用另一个字符替换所有出现的字符,到目前为止,我已经看到了在替换方法中使用正则表达式的建议,以及创建一个hashmap 保存所有要替换的值。经过一些手指魔术后,我想出了这个:
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”。
我显然做错了什么,但我不知道是什么。有人可以帮我吗?
【问题讨论】:
标签: javascript regex