分割查詢字符串,其中window.location.search是正則表達式來與本地JS
?foo=myFoo&fooAndBar=myFoo%26Bar;bar=myBar
什麼正規表達式正確分割在其查詢分隔字符串?請注意,&符號(&
)和分號(;
)均爲valid separators。
使用示例:
// 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+;)/
編輯: T.J. Crowder指出,我的錯誤是使用&
的原始URL編碼作爲轉義的&符號,它將被正確編碼爲%26
。鑑於這種情況,正確的正則表達式是非常容易搭配
window.location.search.slice(1).split(/[&;]/)
原來這裏是測試URL我校正前發佈以供參考:
?foo=myFoo&fooAndBar=myFoo&Bar;bar=myBar
看起來不像任何這些解決方案涵蓋分號問。 –