从URL获取参数

时间:2016-07-05 11:53:57

标签: javascript get

我有一个像http://www.test.pl/product-pol-4406.html

这样的网址

使用Geasemonkey脚本我想从URL获取“4406”部分,但我不知道该怎么做。我的代码是:

var input=document.createElement("input"); 
input.type="button";
input.value="Edytuj";
input.alt="visitPage";
input.onclick = visitPage;
input.setAttribute("style", "font- size:18px;position:absolute;top:120px;right:40px;");
document.body.appendChild(input); 

function visitPage(){
    window.location='https://test.pl/panel/product-edit.php?idt=4406';
}

有什么建议吗?请。

3 个答案:

答案 0 :(得分:0)

使用以下功能在javascript中获取'idt'

 function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

var result= = getParameterByName('idt');

答案 1 :(得分:0)

只需使用

var url = window.location.href;

获取完整的网址。根据您的需要,您可以使用正则表达式解析URL以获得所需内容,或者例如将它拆分为使用与您正在使用的URL类型有关的分隔符获取部分内容。

答案 2 :(得分:0)

如果您想从给定的URL获取产品ID,然后传递给php页面。你可以试试这个

var url = "http://www.test.pl/product-pol-4406.html" //window.location.href

if(url){
    url = url.substr(url.lastIndexOf("/") + 1);
  var productID = url.match(/\d+/);
    alert(productID);
}

更新

function getProductID(){
    var url = "http://www.test.pl/product-pol-4406.html" //window.location.href

    if(url){
        url = url.substr(url.lastIndexOf("/") + 1);
        return url.match(/\d+/);
    }
}

然后在visitePage()函数

中调用该函数
function visitPage(){
    var productID = getProductID();
    if(productID){
        window.location='https://test.pl/panel/product-edit.php?idt='+productID;
    }
}