2015-08-26 63 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