通过字符数组转义字符串

时间:2011-09-27 12:02:10

标签: javascript jquery escaping

我有一个简单的数组。

array('p','(',')','?');

根据数组值我需要在js中转义字符串,我该怎么做?

例如字符串是= 'hey?',在转义数组中我有'?'

3 个答案:

答案 0 :(得分:3)

这样的事情应该有效:

//for old browsers...
Array.prototype.indexOf = Array.prototype.indexOf || function(o) {
   for(var k = 0; k < this.length; ++k)
      if(this[k] === o) return k;
   return -1;
};

var escapes = ['p', '(', ')', '?'];
var array = 'hey?'.split('');

for(var i = 0; i < array.length; ++i) {
   var escapeIndex = escapes.indexOf(array[i]);
   if(escapeIndex > -1) {
      array[i] = '\\' + array[i];
   }
}

var newString = array.join('');

答案 1 :(得分:2)

不确定这是否是最有效的方法,但您可以尝试这样的事情 -

var text = "= 'hey?'";
var a = ['p','(',')','?'];
for (i=0;i<a.length;i++) {
 text = text.replace(a[i],'\\' + a[i])   
}
alert(text);

演示 - http://jsfiddle.net/aEysk/

答案 2 :(得分:0)

试试这个

for(var i=0;i<arr.length;i++){
var ind = strValue.IndexOf(arr[i])
    if(ind>-1)
    {
       strValue.splice(ind,1)
    }
}