使用URL.Document或window.location.href时,Curly Brackets转换为十六进制

时间:2011-07-21 04:57:52

标签: javascript curly-brackets

想要使用document.URL,找到带有大括号的字符串,删除大括号,并只显示大括号内的字符串。但是,似乎document.URL或window.location.href将大括号转换为十六进制值(%7B&%7D),然后我无法与实际的{string}匹配。任何帮助将不胜感激。

  var txt = document.URL; // My URL is something like http://site.com/somepage&value0={string}
  var re1='.*?';    // Non-greedy match on filler
  var re2='(\\{.*?\\})';    // Curly Braces 1

  var p = new RegExp(re1+re2,["i"]);
  var m = p.exec(txt);

  if (m != null)
  {
      var cbraces1=m[1];
      document.write(cbraces1.replace("{","").replace("}",""));
  }

2 个答案:

答案 0 :(得分:2)

首先使用decodeURI(document.URL)

var txt = decodeURI(document.URL);

答案 1 :(得分:0)

unescape('%7B & %7D');

这应该有帮助