2015-08-26 7 views
1

У меня есть следующий URL-адрес, и я его декодирую, который работает нормально, но проблема в том, что часть URL-адреса не закодирована, есть способ проверить, какая часть URL-адреса закодирована и декодировать только это. Мне нужно, чтобы расшифровать его и сделать некоторую логику, а затем кодировать его снова и проблема заключается в том, что я закодировать части, которые не должны кодироватьсяПроверьте, не закодирована ли часть URL-адреса

, например, это является URL-адрес

http%3A%2F%2Fm-d6fe73.m.corp%3A506%2Flin%2Fcalack&client_id=ts2.node 

Как вы можете видеть calack&client_id=ts2.node не кодируется здесь, и это может быть какой-либо параметр в URL

ответ

2

Это должно работать:

var url = 'http%3A%2F%2Fm-d6fe73.m.corp%3A506%2Flin%2Fcalack&client_id=ts2.node'; 
var result = url.split('&').map(function(item){ 
    return (item.indexOf('%')>=0)? decodeURIComponent(item) : item; 
}); 
console.log(result.join('&')); // will give you: http://m-d6fe73.m.corp:506/lin/calack&client_id=ts2.node