Подтвердить что ты не робот

Удалить параметры URL с помощью javascript или jquery

Я пытаюсь использовать данные apt youtube для создания списка воспроизведения видео. Тем не менее, видеоролики требуют формата youtube.com/watch?v=3sZOD3xKL0Y, но то, что генерирует api, - youtube.com/watch?v=3sZOD3xKL0Y&feature=youtube_gdata. Так что мне нужно сделать, это выбрать все после и включить амперсанд и удалить его из URL-адреса. Любой способ сделать это с помощью javascript и какого-то регулярного выражения?

4b9b3361

Ответ 1

Простой:

var new_url = old_url.substring(0, old_url.indexOf('?'));

Изменен:  это приведет к удалению всех параметров или фрагментов из url

var oldURL = [YOUR_URL_TO_REMOVE_PARAMS]
var index = 0;
var newURL = oldURL;
index = oldURL.indexOf('?');
if(index == -1){
    index = oldURL.indexOf('#');
}
if(index != -1){
    newURL = oldURL.substring(0, index);
}

Ответ 2

Что мне не хватает?

Почему бы и нет:

url.split('?')[0] 

Ответ 3

Хм... Ищем лучший способ... вот он

var onlyUrl = window.location.href.replace(window.location.search,'');

Ответ 4

Пример: http://jsfiddle.net/SjrqF/

var url = 'youtube.com/watch?v=3sZOD3xKL0Y&feature=youtube_gdata';

url = url.slice( 0, url.indexOf('&') );

или

Пример: http://jsfiddle.net/SjrqF/1/

var url = 'youtube.com/watch?v=3sZOD3xKL0Y&feature=youtube_gdata';

url = url.split( '&' )[0];

Ответ 5

//user113716 code is working but i altered as below. it will work if your URL contain "?" mark or not
//replace URL in browser
if(window.location.href.indexOf("?") > -1) {
    var newUrl = refineUrl();
    window.history.pushState("object or string", "Title", "/"+newUrl );
}

function refineUrl()
{
    //get full url
    var url = window.location.href;
    //get url after/  
    var value = url = url.slice( 0, url.indexOf('?') );
    //get the part after before ?
    value  = value.replace('@System.Web.Configuration.WebConfigurationManager.AppSettings["BaseURL"]','');  
    return value;     
}

Ответ 6

Вы можете использовать RegEx для соответствия значению v и самостоятельно создать URL-адрес, так как вы знаете, что URL-адрес - youtube.com/watch?v =...

http://jsfiddle.net/akURz/

var url = 'http://youtube.com/watch?v=3sZOD3xKL0Y';
alert(url.match(/v\=([a-z0-9]+)/i));

Ответ 7

Используйте эту функцию:

var getCleanUrl = function(url) {
  return url.replace(/#.*$/, '').replace(/\?.*$/, '');
};

// get rid of hash and params
console.log(getCleanUrl('https://sidanmor.com/?firstname=idan&lastname=mor'));