我需要从URL哈希中获取一些信息...但是结构有点复杂并且重复性很强,可以通过...轻松地进行正则表达式...希望有人比我更聪明...
在JS中,我要添加选择,当更改时,使用更新的哈希值重新加载页面...随着页面刷新,需要解析新窗口的位置以正确匹配先前所做的选择。
URL就像这样:
#dynamic/{"sidebar":[{"facetid":8,"data":{"value":"bell"}},{"facetid":9,"data":{"value":"brooks"}}],"searchString":"SearchText","ver":1}
var parser = document.createElement('a');
parser.href = window.location.href;
var StringSource = (parser.hash).replace(/%22/g, '"');
(StringSource.split("}",StringSource.length))
我真正想要的是带有匹配值的facetid的对象数组...然后只是一个用于“ searchString”值的变量...
在这个级别的Regex和String操作方面,我感到很恐怖
答案 0 :(得分:0)
您可以这样操作:
var sec = parser.href.split(/\//)
var json = JSON.parse(sec[1])
第一行将#dynamic与JSON部分分开
第二行将json部分解析为JSON可用形式。