javascript - Finden Sie ein reguläres JS-Muster (übernehmen Sie URL-Parameter)
天蓬老师2017-05-18 10:47:04
0
8
458
?id=001&from=1我用react的this.props.location.searchIch habe den Hauptteil herausgenommen, ich verstehe die Regeln nicht sehr gut, bitte geben Sie mir einen Rat
var parms = location.search.replace("?","").split("&");
var json = {};
for(let i = 0, n = parms.length; i<n; i++ ){
let t = parms[i].split("=");
json[ t[0] ] = t[1];
}
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
}
}
return theRequest;
}
function get_param(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"),
r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURI(r[2]); return null;
}
location里边不应该还有一个query的吗?难道我记混乱了。。。
可以考虑以下做法:
有可能出现:"?a=1&b=2&c=",甚至 "?a=1&b=2&c"
"?id=001&from=1".replace('?', '').replace('&', ',').replace(/(w+)=(w+)/g, '$1:$2')
楼上JSON.parse的方法挺方便的,不过要考虑ie8-兼容问题,我写的这种不需要考虑兼容但是要麻烦点
function GetRequest() {