addslashes JavaScript等价物

GAg*_*new 3 javascript regex escaping addslashes

我正在寻找一个与PHP相当的JavaScript版本addSlashes.

我发现有很多版本,但它们都没有处理\b,\t,\n,\f\r.

http://jsfiddle.net/3tEcJ/1/

要完成,这个jsFiddle应该警告: \b\t\n\f\r"\\

Del*_*ani 7

function addslashes(string) {
    return string.replace(/\\/g, '\\\\').
        replace(/\u0008/g, '\\b').
        replace(/\t/g, '\\t').
        replace(/\n/g, '\\n').
        replace(/\f/g, '\\f').
        replace(/\r/g, '\\r').
        replace(/'/g, '\\\'').
        replace(/"/g, '\\"');
}
Run Code Online (Sandbox Code Playgroud)

请注意我是如何使用的\u0008替换\b\\b.JavaScript的正则表达式语法似乎不接受\b,但它确实接受\u0008.JavaScript的字符串文字语法识别\b\u0008.