js实现特殊过滤,该如何解决

js实现特殊过滤目前我想使用js实现特殊字符过滤字符串,要求如下:比如说字符串:string str“你好@”;要将@这

js实现特殊过滤
目前我想使用js实现特殊字符过滤字符串,要求如下:
 比如说字符串:string str=“你好@”;
要将@这个特殊字符使用ASCII值替换掉,我将要得到转换过滤后的结果是:“你好-”(“—”即ASCII的值);
当我还原时,又可以得到初识状态的输入值,即“你好@”!

请问js方法怎么实现?

[解决办法]
ASCII 值。会有问题的。 如果原字符串有这个数字,你还原时,不就都一起变成@了!!!

可以用 _ASCII值_ 类似的字符串来替换原字符串

字符串替换就可以了



[解决办法]
还是会有{}这2个符号作为分隔符。

JScript code
<script type="text/javascript">        var App = {            chars : "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",            rplstr : "~!@#$%^&*", //要过滤的字符            encode : function(str){                var self = this;                var reg = new RegExp("\\" + this.rplstr.split('').join('|\\'), "g");                str = str.replace(reg, function(v){return "{"+ (self.chars.indexOf(v) + 32) + "}";});                return str;            },            decode : function(str){                var self = this;                str = str.replace(/{\d+}/g, function(v){return self.chars.charAt(parseInt(v.replace(/{|}/g, ""), 10)-32);});                return str;            }        }        var str = "你好@{123*&%ABC"        str = App.encode(str);        alert(str);        str = App.decode(str);        alert(str);            </script>
[解决办法]
JScript code
  var p = /(@|%40)/;var t = "你好@";t = t.replace(p,"-");alert(t);var p0 = /(-|%2D)/;t = t.replace(p0,"@");alert(t);