function encodeQueryComponent(text, excludeExp) {
  var encode = function encode(code) {
    return String.fromCharCode(parseInt(code.substr(1), 16));
  };
  return encodeURIComponent(text).replace(excludeExp, encode).replace(/%20/g, '+');