我在哈希中有一些字符串,直到我需要获得plantype = chine才能满足条件。当我将#替换为&时,它可以正常工作,但是我需要使用#

  var url = href='//somewebsite/index.html?plan=usa#plantype=china';

  var queryString = {};
  url.replace(
    new RegExp("([^?=&]+)(=([^&]*))?", "g"),
    function($0, $1, $2, $3) {
      queryString[$1] = $3;
    }
  );

  if (queryString['plantype'] == 'china') {
   // the condition is not satisfied when i use # in a string
  }


如何解决它,我在做什么错?

最佳答案

您必须在正则表达式中检查#,将&替换为#

new RegExp("([^?=#]+)(=([^#]*))?", "g"),

08-07 09:29