window.location.search 在哪里
?foo=myFoo&fooAndBar=myFoo%26Bar;bar=myBar
哪个正则表达式会在其查询分隔符处正确拆分字符串?请注意,和号 ( &
) 和分号 ( ;
) 都是有效的分隔符。
样品用途:
// slice() is used just to trim the leading "?"
window.location.search.slice(1).split(/ _WORKING_REGEX_ /);
>>> [object Array]:
[0] => "foo=myFoo",
[1] => "fooAndBar=myFoo&Bar",
[2] => "bar=myBar"
我找到了与符号的正确匹配,但不是分号:
/&(?!\w+;)/
编辑: TJ Crowder 指出我的错误是在原始 URL 编码中&
用作转义的 & 符号,它会被正确编码为%26
. 鉴于此,正确的 RegEx 更容易匹配
window.location.search.slice(1).split(/[&;]/)
这是我在更正之前发布的原始测试网址以供参考:
?foo=myFoo&fooAndBar=myFoo&Bar;bar=myBar