Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вытащить определённый кусок ссылки. (https://javascript.ru/forum/misc/50857-vytashhit-opredeljonnyjj-kusok-ssylki.html)

Marshal_Xaker 14.10.2014 18:44

Вытащить определённый кусок ссылки.
 
Доброго времени! Помогите пожалуйста вытащить кусок ссылки, в JS уж очень плохо разбираюсь, в php лучше :) Но там регулярки всякие тоже хромают. :-?

Вообщем нужно из этой ссылки:
https://vk.com/ID?z=photoID_ID%2FalbumID_0%2Frev

Получить это photoID_ID
Т.е. то что идёт после z= и до значка процентов %

Я бы мог это реализовать на php, но слишком много переписывать... У меня работает по https://vk.com/photoID_ID
А вот через JS хочу обрезать до нужного вида и уже посылать на свой скрипт.

Помогите пожалуйста :help: , буду ОЧЕНЬ благодарен! :thanks:

P.S. Не сочтите за наглость, но хотелось бы что если нужный формат ссылки уже есть, то ничего не происходило :)

ruslan_mart 14.10.2014 18:47

var url = 'https://vk.com/ID?z=photoID_ID%2FalbumID_0%2Frev';
alert( url.match(/z=([^&]+)/)[1] );

Marshal_Xaker 14.10.2014 18:48

Цитата:

Сообщение от Ruslan_xDD (Сообщение 335464)
var url = 'https://vk.com/ID?z=photoID_ID%2FalbumID_0%2Frev';
alert( url.match(/z=([^&]+)/)[1] );

Спасибо, убирает от слеша до z= вместе с ним, но после % ничего не убирает :(

ruslan_mart 14.10.2014 18:49

Так после % не надо что ли? Ну окей.

var url = 'https://vk.com/ID?z=photoID_ID%2FalbumID_0%2Frev';
alert( url.match(/z=([^&%]+)/)[1] );

Marshal_Xaker 14.10.2014 18:51

Спасибо огромное! Отличный форум! В считанные минуты получил ответ :thanks:

Marshal_Xaker 14.10.2014 19:55

Цитата:

Сообщение от Ruslan_xDD (Сообщение 335466)
Так после % не надо что ли? Ну окей.

var url = 'https://vk.com/ID?z=photoID_ID%2FalbumID_0%2Frev';
alert( url.match(/z=([^&%]+)/)[1] );

Помогите пожалуйста ( надеюсь уже в последний раз ) :)

Как сделать проверку через if что если в ссылке нету знака = то мы ничего не делаем иначе выполняем match.

Aetae 14.10.2014 20:04

Marshal_Xaker, зачем лишние проверки?
var url = 'https://vk.com/ID?z=photoID_ID%2FalbumID_0%2Frev';
var id = url.match(/z=([^&%]+)/);
if(id){
    id = id[1];
    
    //...

}

Marshal_Xaker 14.10.2014 21:12

Цитата:

Сообщение от Aetae (Сообщение 335496)
Marshal_Xaker, зачем лишние проверки?
var url = 'https://vk.com/ID?z=photoID_ID%2FalbumID_0%2Frev';
var id = url.match(/z=([^&%]+)/);
if(id){
    id = id[1];
    
    //...

}

У меня там AJAX и надо что бы выводило ответ например что не все поля заполнены. А с этим кодом при пустом поле молчание :)

Да и обычные URL он тогда не принимает...

Uncaught SyntaxError: Unexpected token
3Uncaught ReferenceError: add is not defined

Aetae 14.10.2014 21:25

Эти ошибки не имеют ничего общего с моим кодом.

Marshal_Xaker 14.10.2014 21:27

Цитата:

Сообщение от Aetae (Сообщение 335537)
Эти ошибки не имеют ничего общего с моим кодом.

Invalid left-hand side in assignment

Появляется когда стоит нужная ссылка и в итоге код вообще отказывается работать. А мне надо что бы когда ссылка уже была верная всё работало как есть!

Marshal_Xaker 14.10.2014 21:33

Цитата:

Сообщение от Aetae (Сообщение 335537)
Эти ошибки не имеют ничего общего с моим кодом.

Не подскажите почему это urlCheck.indexOf('=') не работает?

Разобрался, прошу прощения.


Часовой пояс GMT +3, время: 12:28.