JS Url 解码,转Json,正则获取指定标签内的内容
var url = 'http://127.0.0.1/html/login.html?kind=album%7cSixButAlbum¶mId=31&pos=100&_type=hd&epg_info=%3Cserver_ip%3E127.0.0.1%3C/server_ip%3E%3Cback_url%3Ehttp://127.0.0.1:8080/iptvepg/frame201/portal.jsp%3C/back_url%3E%3Cgroup_path%3E%3C/group_path%3E%3Coss_user_id%3E91559298644%3C/oss_user_id%3E%3Cpage_url%3Ehttp://127.0.0.1:8080/iptvepg/frame154/vas_to_epg.jsp%3C/page_url%3E%3Cpartner%3EZTE%3C/partner%3E%3Cgroup_id%3E2000085%3C/group_id%3E&user_name=91559298644&USERID=91559298644&USERTOKEN=1D10039900703230000090D8F3C39B25&fromLaunch=true';
**
## 方法1:
**
function backUrl(url){
return JSON.stringify(url2json(decodeURI(url))).match(/<back_url>([\s\S]*?)<\/back_url>/)[1];
}
function url2json(url) {
if (url.indexOf('?') == -1) return '';
var query = {};
var array = [];
var params = (url.split('?'))[1];
array = params.split('&');
var length = array.length;
if (length > 0) {
for (var i = 0; i < length; i++) {
var index = array[i].indexOf('=');
var key = array[i].substring(0, index);
var value = array[i].substring(index + 1);
query[key] = value;
}
}
return JSON.stringify(query) == '{}' ? '' : query;
}
**
## 方法2:
**
var test = "<server_ip>127.0.0.1</server_ip><back_url>http://127.0.0.1:8080/iptvepg/frame201/portal.jsp</back_url><group_path></group_path><oss_user_id>29072141723</oss_user_id><page_url>http://127.0.0.1:8080/iptvepg/frame154/vas_to_epg.jsp</page_url><partner>ZTE</partner><group_id>2000085</group_id>"
var objParam = getValue(test );
function getValue(value)
{
var obj={}
value.replace(/(?<=<([^\/]*)>).*?(?=(<\/.*>))/g, function (value, name) {
obj[name] = value
})
return obj
}