PHP に相当する JavaScript の適切なバージョンを探していますaddSlashes
。
多くのバージョンを見つけましたが、どれも\b
、\t
、\n
、\f
またはを処理しません\r
。
完全にするには、この jsFiddle は次のように警告する必要があります。\b\t\n\f\r"\\
PHP に相当する JavaScript の適切なバージョンを探していますaddSlashes
。
多くのバージョンを見つけましたが、どれも\b
、\t
、\n
、\f
またはを処理しません\r
。
完全にするには、この jsFiddle は次のように警告する必要があります。\b\t\n\f\r"\\
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
ます。
またはこれはphpjs.orgからのものです
function addslashes(str){
return (str + '').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}
より短く、驚くほど効率的:
function as(str) {
var a = {};
a[str] = 1;
return JSON.stringify(a).slice(1,-3);
}
(slice(2, -4)
文字列を引用符で囲む必要がない場合)