0

我有一个带有特殊字符的 javascript 数组正在从后端数据库中填充。我想在前端转义这些字符以形成查询字符串以正确获取结果。我的数组如下所示:

var a = new Array();
a[0] = "abc,def";
a[1] = "abc:def";
a[2] = "abc(def)";

我的查询字符串形成如下图:

http://localhost:8080/search/?Ar=AND(OR(category1:abc,def),OR(category2:abc:def),OR(category3:abc(def)));

我的查询字符串参数被 ':" 字符分隔,但我的数据本身具有 ':' 字符使我的查询失败以获取结果。我尝试使用 encodeURIComponent() 内置函数,但它在 linux 框中失败。Escape 特殊字符应该同时支持window和linux。对此有什么帮助吗?

4

1 回答 1

1

我不确定我是否理解你的问题。但是如果你想从数组中转义一些字符,你可以这样做。

var a = new Array();
a[0] = "abc,def";
a[1] = "abc:def";
a[2] = "abc(def)";

var excpList = [',',':','(', ')'];

var res = a.map(function(item,index,array){
           return item.split('').filter(function(item,index,array){
             if(excp.indexOf(item) < 0){
               return item;              
             }
           }).join('');
});

资源 -->["abcdef", "abcdef", "abcdef"]

演示

于 2014-08-18T07:29:22.463 回答