正则表达式提取url中的参数,返回json字符串

var urlstr = "www.baidu.com?a=1&b=xx&c";
var s = urlstr.split("?");
var argstr="";
console.log(s);
if(s.length>1){
    argstr = s[1];
}
var parttern = /([a-z]+)(=)?([a-z0-9]*)/gi;

var matches = parttern.exec(argstr);
var arraymatches = [];
while(matches){
    arraymatches.push(matches);
    matches = parttern.exec(argstr);
}
console.log(arraymatches);
var jsonop = {};
for(var i=0;i<arraymatches.length;i++){
    var temp = arraymatches[i];
    jsonop[temp[1]] = temp[3];
}
console.log(jsonop);
console.log( JSON.stringify(jsonop));
时间: 2024-10-23 09:25:15

正则表达式提取url中的参数,返回json字符串的相关文章

前端笔试题:拍扁多维数组、提取URL中的参数变成对象、实现string的trim()函数、判断Email地址、16进制颜色转rgb格式

(1)拍扁数组 这是一个著名互联网公司今天的前端笔试题:多维数组维数不定,如[2,4,1,[2,3,4,[1,2],5,3],3,8]拍扁为[2,4,1,2,3,4,1,2,5,3,3,8].维数不定,应该要用递归: 答案: function flatten(arr){ var arrLength=arr.length; for(var i=0;i<arrLength;i++){ if(arr[i].constructor==Array){ arr.splice(i,1,flatten(arr[

JS 通过正则表达式获取URL中的参数

var getUrlParameter = function(name){     var locString = document.location.search;       var reg = new RegExp("(\\?|\\&)" + name + "=([^\\&]*)(\\&?)", "i").exec(locString);       return RegExp.$2; }

vue中如何不通过路由直接获取url中的参数

前言:为什么要不通过路由直接获取url中的参数? vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的. 相对来说,在某些情况下直接在url后面拼接?mid=100的方式传递参数更灵活,你不需要设置路由,只需要在url后拼接参数即可,但是这种方式就需要通过javascript获取并提取url中的参数,通过传统的方式直接在页面中获取是行不通的了,因为vue中是无法通过location.search()来获取url问号之后的内容的.

提取url中参数的方法(转换成json格式)

还是直接上代码吧. //将url中的参数获取到并抓换成json格式 function serilizeUrl(url){ var urlObject={}; //1.正则匹配是不是以?结尾 if(/\?/.test(url)){ //substring 截取指定位置的之间的字符串, //第一个值是起始下标,第二个可不不写, //不写就一直截取到最后 //2.截取?后面的东西 var urlString = url.substring(url.indexOf('?')+1) //3.将&去除 加入

【前端】提取URL中的各个GET参数

1 /**************************** 2 * 有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e, 3 * 请写一段JS程序提取URL中的各个GET参数(参数名和参数个数不确定), 4 * 将其按key-value形式返回到一个json结构中, 5 * 如{a:'1', b:'2', c:'', d:'xxx', e:undefined}. 6 ******************

全选全不选,返回字符串长度,汉字计数为2,获取url中的参数 ,函数防抖,函数节流

/* 全选/全不选 */ function selectAll(objSelect) { if (objSelect.checked == true) { $("input[name='chkId']").attr("checked", true); $("input[name='chkAll']").attr("checked", true); } else if (objSelect.checked == false) {

jQuery 获取url中的参数

//获取url中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return unescape(r[2]); retur

如何获取url中的参数并传递给iframe中的报表

在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数呢?以下用报表软件FineReport简单介绍一些. 具体实现过程 将报表生成页面时,给网页添加onload事件,首先获取url中的参数,然后嫁接到iframe的src上,或者通过获得的参数拼接处完整的报表url赋给iframe的src. <html> <head> <title

.NET 获取Get方式URL中的参数键值

在Web开发中,我们常常会涉及到需要获取Get方式URL中的参数键值的情况,这里简单介绍三种方法: 第一种:常用的做法有使用JavaScript获取location.href后用正则表达式匹配获取此URL的所有键值对: 第二种:这里比如有个Key参数键,需要获取它对应的值:这时可以使用.NET里的Request.Form["Key"](针对Post)或Request.QueryString["Key"](针对Get),也可以用Request["Key&qu