2013-11-09 22 views
-1

У меня есть URL-адрес:Извлечение параметров URL с JavaScript

http://www.youtube.com/watch?v=JssO4oLBm2s&list=PLGHJ4fVazTpYRZTEhqgurtSH6XlDMIEJM&shuffle=382

Edit: я должен также не URL хранится в переменной, и я хочу, чтобы это что-то вроде этого работы:

$(".videothumb a").live('click', function() { 
     var URL = < do something to cut the string > 
     console.log(URL); 
     return false; 
    }); 

И я хочу вырезать URL-адрес, начинающийся с «=» и заканчивающийся на «&», поэтому я получаю строку вроде этого: «JssO4oLBm2s».

Я знаю только функцию slice(), но я считаю, что только число принимает как начальную, так и конечную точки.

+0

что 'myString'? – Krishna

+0

Извините, моя ошибка я только что обновил. – UzumakiDev

+0

вы попробовали ответы, размещенные ниже? – Krishna

ответ

1

Использование .split() даст решение на основе положения, которое подведет порядок параметров изменений. Вместо этого я думаю, что вы ищете значение параметра называется v для этого вы можете использовать простые регулярные выражения, как

'http://www.youtube.com/watch?v=JssO4oLBm2s&list=PLGHJ4fVazTpYRZTEhqgurtSH6XlDMIEJM&shuffle=382'.match('[?&]v=(.*?)(&|$)')[1] 
+0

@ Кришна обновлен, чтобы получить значение 'v' –

+0

Мой url хранится в переменной, поэтому это не работает. – UzumakiDev

+0

@KyleJoseph затем использует переменную типа 'myvar.match ('[? &] V = (. *?) (& | $)') [1]' –

0

Использование .split(). Отдельно до 2 линий для ясности

var first = "http://www.youtube.com/watch?v=JssO4oLBm2s&list=PLGHJ4fVazTpYRZTEhqgurtSH6XlDMIEJM&shuffle=382".split('=')[1] 
var result = first.split('&')[0]; //result - JssO4oLBm2s 
1

Попробуйте

'http://www.youtube.com/watch?v=JssO4oLBm2s&list=PLGHJ4fVazTpYRZTEhqgurtSH6XlDMIEJM&shuffle=382' 
    .split('=')[1] // 'JssO4oLBm2s&list' 
    .split('&')[0] // 'JssO4oLBm2s' 

Или, если вы хотите быть уверены, чтобы получить v параметр,

var v, args = 'http://www.youtube.com/watch?v=JssO4oLBm2s&list=PLGHJ4fVazTpYRZTEhqgurtSH6XlDMIEJM&shuffle=382'.split("?")[1].split('&'); 
for(var i = args.length-1; i>=0; --i) { 
    var data = args[i].split('='); 
    if(data[0]==='v') { v = data[1]; break; } 
} 
0
v = 'JssO4oLBm2s&list=PLGHJ4fVazTpYRZTEhqgurtSH6XlDMIEJM&shuffle=382'; 

var vamploc = v.indexOf("&"); 

vstring = v.substr(0, vamploc); 

Вы можете играть с кодом немного по реф ine it, но общие принципы работают.

0

использование Regexp (?:v=)(.+?)(?:&|$)

Fiddle DEMO

"http://www.youtube.com/watch?v=JssO4oLBm2s&list=PLGHJ4fVazTpYRZTEhqgurtSH6XlDMIEJM&shuffle=382".match('(?:v=)(.+?)(?:&|$)')[1] 


Ссылка

http://gskinner.com/RegExr/

Смежные вопросы