0
我想做一個js正則表達式,將搜索URL中的參數,如果發現替換它的值。 如果找不到參數,則會將其添加到URL中。添加參數或替換值,如果找到
這裏是一對夫婦的情況下
http://www.domain.com/?paramZ=123456
https://www.domain.com/?param1=val1;param2=val2;param3=val3;paramZ=123456
http://www.domain.com/one/or/more?paramZ=123456;param1=val1;param2=val2;param3=val3
https://www.domain.com/one/or/more?param1=val1;paramZ=123456;param2=val2;param3=val3
http://www.domain.com/one/or/more?param1=val1;param2=val2;param3=val3
我的目標是要做到以下幾點:
- 找到paramZ = XXXXXX,並與paramZ = YYYYYY替換
- 如果paramZ不存在,加上它的值YYYYYY
我設法做了第一個:
搜索
/^(http[s]?:\/\/www\.domain)(.*)(paramZ\=[\d]+)(.*)$/g
更換
$1$2paramZ=987654$4
這裏是一個工作示例: https://regex101.com/r/9Ui8vx/1
我甚至不知道是否有可能只在一個正則表達式來達致這。
爲什麼不 - > [?我怎樣才能在JavaScript查詢字符串值(http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript) – adeneo
或者[添加或更新查詢字符串參數](http://stackoverflow.com/questions/5999118/add-or-update-查詢字符串參數)。 –
這需要進入一個只接受搜索和替換正則表達式的系統。不幸的是,沒有編碼可以完成。 – edysoft