Я пытаюсь использовать данные apt youtube для создания списка воспроизведения видео. Тем не менее, видеоролики требуют формата youtube.com/watch?v=3sZOD3xKL0Y, но то, что генерирует api, - youtube.com/watch?v=3sZOD3xKL0Y&feature=youtube_gdata. Так что мне нужно сделать, это выбрать все после и включить амперсанд и удалить его из URL-адреса. Любой способ сделать это с помощью javascript и какого-то регулярного выражения?
Удалить параметры URL с помощью javascript или jquery
Ответ 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 =...
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'));