Бывает ситуация когда нужно выделить часть интернет-адреса, которая является параметром передаваемым странице, например, имя ролика на You Tube. Допустим есть адрес:
http://www.youtube.com/watch?v=Ahg6qcgoay4
Из него нужно получить часть стоящую за "?v=" чтобы получилось следующее:
Этого можно добиться с помощью регулярного выражения:
delim (обязательный) - это разделитель внутри строки,
limit (второй необязательный параметр) - максимальное количество элементов в результате. Возвращает данная функция массив разделенных элементов строки.
Возвращаясь к примеру выше преобразуем его в следующий вид:
http://www.youtube.com/watch?v=Ahg6qcgoay4
Из него нужно получить часть стоящую за "?v=" чтобы получилось следующее:
Ahg6qcgoay4
Этого можно добиться с помощью регулярного выражения:
regex = /http\:\/\/www\.youtube\.com\/watch\?v=(\w{11})/; url = 'http://www.youtube.com/watch?v=Ahg6qcgoay4'; id = url.match(regex)[1]; // id = 'Ahg6qcgoay4'Недостатком данного регулярного выражения является обязательная определенность выделяемого элемента. Второй способ - использование функции разбития строки split:
split(delim[,limit])
- функция принимает два параметра, первый из которых delim (обязательный) - это разделитель внутри строки,
limit (второй необязательный параметр) - максимальное количество элементов в результате. Возвращает данная функция массив разделенных элементов строки.
Возвращаясь к примеру выше преобразуем его в следующий вид:
var url = "http://www.youtube.com/watch?p=DB852818BF378DAC&v=1q-k-uN73Gk" var param = url.split("?")[1].split("&")[0]; //param = "p=DB852818BF378DAC"