私はいくつかのJavaScript varが評価されるプロジェクトを持っています。文字列をエスケープする必要があるので(一重引用符のみ)、私はテスト関数に全く同じコードを書いています。私はかなり簡単なJavaScriptコードの以下のビットがありますJavaScriptの評価のためにJavaScript文字列の一重引用符をエスケープする
function testEscape() {
var strResult = "";
var strInputString = "fsdsd'4565sd";
// Here, the string needs to be escaped for single quotes for the eval
// to work as is. The following does NOT work! Help!
strInputString.replace(/'/g, "''");
var strTest = "strResult = '" + strInputString + "';";
eval(strTest);
alert(strResult);
}
を、私はそれを警告したい、と言って:fsdsd'4565sd
。
比較的安全なアプローチは、 'var strResult = eval("( "+ strInputString +") ");'です。また、 'STRING'は不変であるため、' string.replace() '**は置換された結果を返します。 – Passerby
これはあなたが期待するものですかhttp://jsfiddle.net/ebTtp/ – ssilas777