params.query = params.query.replace(/[+-&|!(){}[]^"~*?:\]/g,function(a){
switch (a) {
case '+':
return '\+'
break;
case '-':
return '\-'
break;
case '&':
return '\&'
break;
case '|':
return '\|'
break;
case '!':
return '\!'
break;
case '(':
return '\('
break;
case ')':
return '\)'
break;
case '{':
return '\{'
break;
case '}':
return '\}'
break;
case '[':
return '\['
break;
case ']':
return '\]'
break;
case '^':
return '\^'
break;
case '"':
return '\"'
break;
case '~':
return '\~'
break;
case '*':
return '\*'
break;
case '?':
return '\?'
break;
case ':':
return '\:'
break;
case '\':
return '\\'
break;
default:
break;
}
})
注意需要转义。