从URL中获取数字

时间:2012-10-09 19:41:45

标签: javascript regex selenium-ide

  

可能重复:
  How can I get query string values?

我试图在测试期间从URL获取页码。 URL如下所示:

http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc

我想要的是网址中'page ='之后的页码。

3 个答案:

答案 0 :(得分:3)

在一行中,通过拆分网址。 jsfiddle

var url = "http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc";

var pageNumber = parseInt(url.split("page=")[1].split("&")[0], 10);

答案 1 :(得分:0)

我有这个小函数来获取URL参数(我多年前在互联网上找到它):

function getUrlParameter(name, defaultValue) {
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
    if( results == null ) return defaultValue;
    else return results[1];
}

我这样用:

pageNumber = parseInt(getUrlParameter('page'), 10);

答案 2 :(得分:0)

我能想到的一个简单的纯JavaScript实现类似于以下内容:

 var url = http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc
 var matchedPos =  url.search("page=\\d");
 var matched = url.substr(matchedPos);
 var num = matched.split("=")[1]; //might need to parse