84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
?id=001&from=1I used reactthis.props.location.searchI have taken out the main part, I don’t understand regular rules, please give me some advice
?id=001&from=1
react
this.props.location.search
欢迎选择我的课程,让我们一起见证您的进步~~
var str = "?id=001&from=1"; JSON.parse("{" + str.replace("?", "\"") .replace(new RegExp(/(&)/g),'\",\"') .replace(new RegExp(/(=)/g),'\":\"') + "\"}")
var reg = /([^?=&]+)=([^?=&]*)/g, str = window.location.href, tempObj = {}; str.replace(reg,function(str,key,val){ var k = decodeURIComponent(key), v = decodeURIComponent(val); tempObj[k] = v || ""; return str; });
location里边不应该还有一个query的吗?难道我记混乱了。。。
可以考虑以下做法:
JSON.parse( '{' + locatio.search .replace('?', '') .replace(/&/g, ',') .replace(/(\w+)=?(\w+|)/ig, '"$1":"$2"') + '}')
有可能出现:"?a=1&b=2&c=",甚至 "?a=1&b=2&c"
"?id=001&from=1".replace('?', '').replace('&', ',').replace(/(w+)=(w+)/g, '$1:$2')
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]; }
楼上JSON.parse的方法挺方便的,不过要考虑ie8-兼容问题,我写的这种不需要考虑兼容但是要麻烦点
function GetRequest() {
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; }
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
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() {