用于在JavaScript中转义引号的函数

Man*_*tas 6 javascript search escaping elasticsearch

开始,我没有做很多JavaScript,并且是一个完整的新手,现在已经不在了..我有一个小问题,我试图逃避我的搜索应用程序中的用户输入的引号:

function getQString()
{
var query_str = 'q=' + $('input[name=q]').val().trim();
return  query_str;
}
Run Code Online (Sandbox Code Playgroud)

这是作为gsp文件中的方法完成的,是否有类似于JavaScript中的.escape()的东西?

这个查询后来被发送到弹性搜索并由于引号特别输入像"b ..

我正在使用ES 0.20.6

小智 11

query_str = query_str.replace(/"/g, '\\\"');
Run Code Online (Sandbox Code Playgroud)

..会导致; "\"

要么

query_str = query_str.replace(/"/g, '\\\\\"');
Run Code Online (Sandbox Code Playgroud)

..会导致; "to \\",这将打印报价仍然逃脱\".

这段代码;

var test = 'asdasd " asd a "';

console.log(test.replace(/"/g, '\\\"'));
console.log(test.replace(/"/g, '\\\\\"'));
Run Code Online (Sandbox Code Playgroud)

..outputs;

asdasd \" asd a \"
asdasd \\" asd a \\"
Run Code Online (Sandbox Code Playgroud)

您可以根据最终解释器读取字符串的方式调整替换项并将其打印出来.