用这个方法/*使用方法:GetQueryValue(strGetQuery,'paras')
strGetQuery为url;
paras为url中的参数;
类似
var strGetQuery = location.href;
var dofile = GetQueryValue(strGetQuery,'dofile');
var action = GetQueryValue(strGetQuery,'action');
var id = GetQueryValue(strGetQuery,'id');
var returnURL = GetQueryValue(strGetQuery,'returnURL');
*/
function GetQueryValue(sorStr,panStr) 

var vStr=""; 
if (sorStr==null || sorStr=="" || panStr==null || panStr==""){
return vStr; 
}
//sorStr = sorStr.toLowerCase();
panStr += "="; 
var itmp=sorStr.indexOf(panStr); 
if (itmp<0){
return vStr;

sorStr = sorStr.substr(itmp + panStr.length); 
itmp=sorStr.indexOf("&"); 
if (itmp<0){
return sorStr; 
}else{
sorStr=sorStr.substr(0,itmp); 
return sorStr;

}

解决方案 »

  1.   

    String.prototype.getQueryString = function(name)
    {
      var reg = new RegExp("(^|&|\\?)"+ name +"=([^&]*)(&|$)");
      var r = this.match(reg);
      if (r!=null) return unescape(r[2]); return null;
    }alert(window.location.href.getQueryString("p"));
      

  2.   

    本来昨天晚上准备发的,但一直发不出去,今天看了用正则,很不错。
    我这过没用正则,前提是p=5放在URL中的最后。
    <script type="text/javascript">
    //以a.html?p=5为例子来讲
    var p1,p2
    var str=location.search; //str值为地址的查询部分,即:?p=5
    var p0=str.search("p="); //查找字符串中 p= 的位置
    //如果找到,加上2就是5所在的位置,把 5 从字符串中截取出来
    p0>0?p0=parseInt(str.substr(p0+2,str.length-(p0+2))):p0=1;
    p1=p0-1; //上一页
    p2=p0+1;  //下一页
    alert(p1+" "+p2)
    </script>
      

  3.   

    p1 = location.href.replace(/\bp=(\d+)/i, function($0, $1){return 'p=' + (parseInt($1, 10) - 1)}); //上一页
    p2 = location.href.replace(/\bp=(\d+)/i, function($0, $1){return 'p=' + (parseInt($1, 10) + 1)}); //下一页
      

  4.   

    我记得这个问题好象很早以前就研究过了吧...//处理QueryString,用法与Request.QueryString类似
    //eg. var eg = parseQueryString("eg");
    function parseQueryString(sTag)
    {
    var result = window.location.search.match( new RegExp("([?|&])"+ sTag +"=([^&]*)([&|$])") );
    return (result == null) ? "" : unescape(result[2]);
    }