JavaScript, как переключить путь свойства window.location и перенаправить
Я хочу перенаправить пользователя с разных URL-адресов на конкретный. Я пробовал различные варианты замены, и я, кажется, не могу получить поведение, которое я хочу. Этот код работает, за исключением того, что я предоставляю имя хоста. Я хочу использовать существующее имя хоста из windows.location.hostname и просто указать новый путь. Иногда URL-адреса различаются по размеру и косой черты ('/').
window.location = 'http://localhost:36065/NewPath';
Как бы я изменил эти URL?
http://somesite.com/xxx/yyy/zzz to http://somesite.com/NewPath
http://somesite.com/xxx/yyy to http://somesite.com/NewPath
http://somesite.com/xxx to http://somesite.com/NewPath
Я думаю, вы поняли. Путь может варьироваться в зависимости от пути, я хочу заменить все после.com в основном на "NewPath"
Я хотел бы получить чистое решение для регулярных выражений, если это возможно, но я довольно новичок в этом отделе. Спасибо за любые советы или хитрости.
3 ответа
Решение
Просто чтобы показать трудный путь:
// Find everything up to the first slash and save it in a backreference
regexp = /(\w+:\/\/[^\/]+)\/.*/;
// Replace the href with the backreference and the new uri
newurl = windows.location.href.replace(regexp, "$1/dir/foo/bar/newpage.html");