4

PHP に相当する JavaScript の適切なバージョンを探していますaddSlashes

多くのバージョンを見つけましたが、どれも\b\t\n\fまたはを処理しません\r

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

完全にするには、この jsFiddle は次のように警告する必要があります。\b\t\n\f\r"\\

4

4 に答える 4

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, '\\"');
}

\u0008に置き換える方法に注目し\bてください\\b。JavaScript の正規表現構文は を受け入れないように見えますが\b、受け入れ\u0008ます。JavaScript の文字列リテラル構文は、 と の両方\bを認識し\u0008ます。

于 2011-08-23T14:02:22.110 に答える
2

またはこれはphpjs.orgからのものです

function addslashes(str){
    return  (str + '').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}
于 2012-08-21T01:37:27.780 に答える
1

より短く、驚くほど効率的:

 function as(str) {
    var a = {};
    a[str] = 1;
    return JSON.stringify(a).slice(1,-3);
  }

(slice(2, -4)文字列を引用符で囲む必要がない場合)

于 2013-07-12T07:12:09.740 に答える