@alekse31419

Как получить utm-метки из url?

Нужно получить все utm метки из url и запаковать в переменные.
Результат должен быть такой:
medium = "x"
source = "y"
campaign = "z"
content = "k"

Url:

https://pro-jector.site/?utm_medium=cpc&utm_source=mytarget&utm_campaign={{campaign_id}}&utm_content={{banner_id}}

Как это можно сделать?
  • Вопрос задан
  • 1821 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Object.fromEntries((url.match(/(?<=utm_).+?=[^&]*/g) || []).map(n => n.split('=')))

или

[...url.matchAll(/utm_([^=]+)=([^&]*)/g)].reduce((acc, [ , k, v ]) => (acc[k] = v, acc), {})

или

Array
  .from(new URL(url).searchParams)
  .filter(n => n[0].startsWith('utm_'))
  .reduce((acc, n) => ({ ...acc, [n[0].slice(4)]: n[1] }), {})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы