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

时间:2013-04-08 11:21:49

标签: javascript search escaping elasticsearch

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

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

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

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

我正在使用ES 0.20.6

1 个答案:

答案 0 :(得分:9)

query_str = query_str.replace(/"/g, '\\\"');

..将导致; "\"

query_str = query_str.replace(/"/g, '\\\\\"');

..将导致; "\\",这会使打印的报价仍然转移到\"

此代码;

var test = 'asdasd " asd a "';

console.log(test.replace(/"/g, '\\\"'));
console.log(test.replace(/"/g, '\\\\\"'));

..输出;

asdasd \" asd a \"
asdasd \\" asd a \\"

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