JavaScript replace 回调函数用法

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;
        }
      })

注意需要转义。

原文地址:https://www.cnblogs.com/mengfangui/p/9144416.html