js获取url后面的参数值

获取url后面的参数值。

//传入参数名称获取地址栏的参数值
function GetURLQueryString(queryStringName)
{
 var returnValue="";
 var URLString=new String(document.location);
 var serachLocation=-1;
 var queryStringLength=queryStringName.length;
 do
 {
 serachLocation=URLString.indexOf(queryStringName+"\=");
 if (serachLocation!=-1)
 {
 if ((URLString.charAt(serachLocation-1)=='?') || (URLString.charAt(serachLocation-1)=='&'))
 {
 URLString=URLString.substr(serachLocation);
 break;
 }
 URLString=URLString.substr(serachLocation+queryStringLength+1);
 }
 
 }
 while (serachLocation!=-1)
 if (serachLocation!=-1)
 {
 var seperatorLocation=URLString.indexOf("&");
 if (seperatorLocation==-1)
 {
 returnValue=URLString.substr(queryStringLength+1);
 }
 else
 {
 returnValue=URLString.substring(queryStringLength+1,seperatorLocation);
 } 
 }
 return returnValue;
}

只要传入参数名称即可获取url参数值。但是这种传参方式会导致参数乱码,得用javascript的unescape、escape。
其实用表单提交的方式会更方便。

如果js很乱,可以去一些网站在线工具哪里格式化一下,或者在谷歌浏览器上,将自己文件的代码复制下来,因为上面的已经排版整理过了。

但是一般推荐还是用表单传值比较好,用url传参的话会出现中文乱码。

原文地址:https://www.cnblogs.com/hougelou/p/2854681.html