有时候需要通过JavaScript中获取网址中传递的参数,一般使用的方法有三种。
一、根据参数名获取参数值 getQueryStringByName (这个是最常用的)
//根据参数名获取参数值 function getQueryStringByName(name){ var result = location.search.match(new RegExp("[?&]" + name+ "=([^&]+)","i")); if(result == null || result.length < 1){ return ""; } return result[1]; }
二、获取整个参数数组 getQueryString
//获取QueryString的数组 function getQueryString(){ var result = location.search.match(new RegExp("[?&][^?&]+=[^?&]+","g")); if(result == null){ return ""; } for(var i = 0; i < result.length; i++){ result[i] = result[i].substring(1); } return result; }
三、根据索引值获取参数值 getQueryStringByIndex,基于第二个获取的参数数组
//根据索引值获取参数值 function getQueryStringByIndex(index){ if(index == null){ return ""; } var queryStringList = getQueryString(); if (index >= queryStringList.length){ return ""; } var result = queryStringList[index]; var startIndex = result.indexOf("=") + 1; result = result.substring(startIndex); return result; }