Я пытаюсь сделать js regex, который будет искать параметр в 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