https://m.wss2ww.cn?utm_m3edium=c3s222&utm_source=ona222&utm_term=N45==12&utm_campaign=333
想要截取后的效果如: utm_m3edium=c3s222 utm_source=ona222 utm_term= N45 utm_campaign=3333 JS怎么写 详细点 好 谢谢
想要截取后的效果如: utm_m3edium=c3s222 utm_source=ona222 utm_term= N45 utm_campaign=3333 JS怎么写 详细点 好 谢谢
var params = location.search.split("?")[1].split("&");
params.forEach(function(item){
console.log(item);
})
utm_m3edium=c3s222utm_source=ona222utm_term=N45==12utm_campaign=333
是一个长的 是分成这么4个var 的参数
这个字符串,按照&进行分割,得到结果:
第一个元素:https://m.wss2ww.cn?utm_m3edium=c3s222
第二个元素:utm_source=ona222
第三个元素:utm_term=N45==12
第四个元素:utm_term=N45==12
然后将第一个元素按?进行分割去后面的那一个
得到:utm_m3edium=c3s222
最后的结果就是:
utm_m3edium=c3s222
utm_source=ona222
utm_term=N45==12
utm_term=N45==12
如果要去重,直接去重就好了不知道这种是不是你要的效果
<script type="text/javascript">
var str="https://m.wss2ww.cn?utm_m3edium=c3s222&utm_source=ona222&utm_term=N45==12&utm_campaign=333";
var v="",tmp="";
var s = str.split("?")[1].split("&");
for(var i=0;i<s.length;i++){
tmp = s[i].replace("==","||");
v += tmp.replace(tmp.split("=")[1],"'"+tmp.split("=")[1]+"'").replace("||","==");
v += i<s.length-1 ? "," : ";";
}
eval("var "+v); //转换成变量
document.write(utm_m3edium); //测试输出变量值
</script>
var url = 'https://m.wss2ww.cn?utm_m3edium=c3s222&utm_source=ona222&utm_term=N45==12&utm_campaign=333';
var params = url.split('?') [1].split('&');
var data = {};
params.forEach(function (item) {
var p = item.split("=");
data[p[0]] = p[1];
})
console.log(data);
//自己没描述清楚要变量自己声明四个值等于data点变量名
var result=url.match(/\w+=[^&]*/g);