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我用reactthis.props.location.searchIch habe den Hauptteil herausgenommen, ich verstehe die Regeln nicht sehr gut, bitte geben Sie mir einen Rat

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(8)
某草草
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"

phpcn_u1582

"?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\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?
淡淡烟草味
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;
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage