删除某个字符串javascript后的所有内容

时间:2015-05-23 08:28:26

标签: javascript

嗨我有一个自我构建的字符串,但我有一些链接允许你返回一个部分等..现在如何工作是它传递查询字符串中的id。

http://localhost:34523/buyhouse?house1=fd524fa0-a6de-e411-80c7-00155d105c00&house2=b6093a35-c2de-e411-80c7-00155d105c00

现在我可以找到我需要在点击按钮时将其剪下来的ID,因为传入了id,但我想删除id之后的所有内容,但之前将所有内容保存在查询字符串中。

如果在结果中传递了id "fd524fa0-a6de-e411-80c7-00155d105c00",我希望最后是

http://localhost:34523/buyhouse?house1=fd524fa0-a6de-e411-80c7-00155d105c00

因为它将删除该ID之后的所有内容。

有没有一种javascript方式可以做到这一点。

感谢

3 个答案:

答案 0 :(得分:1)

首先,您需要找到URL的GET参数,如下所示:

window.location.search.replace("?", "");

以上行获取GET参数,但删除字符串开头的?

然后,您可以使用javascript' split()函数将参数拆分为数组:

var getParameters = window.location.search.replace("?", "").split('&');

现在你有一个这样的阵列:

getParameters['house1=fd524fa0-a6de-e411-80c7-00155d105c00', 'house2=b6093a35-c2de-e411-80c7-00155d105c00'];

您现在可以使用这些数组值来创建链接:

window.location.href = 'http://localhost:34523/buyhouse?'+getParameters[0];

这会将您重定向到:

http://localhost:34523/buyhouse?house1=fd524fa0-a6de-e411-80c7-00155d105c00

答案 1 :(得分:0)

<script>
    function myFunction(str, p) {
        var head = str.split("?");
        var res = head[1].split("&");
        var url = head[0]+"?"+res[p];
    return url;
    }
}
    </script>

str是您的完整网址:

str =“// localhost:34523 / buyhouse?house1 = fd524fa0-a6de-e411-80c7-00155d105c00&amp; house2 = b6093a35-c2de-e411-80c7-00155d105c00”;

“p”是您需要的ID的位置。

答案 2 :(得分:0)

我能想到的最简单的方法是使用indexOf()来查找id的开始位置,为其添加id长度,然后使用子字符串。

function cutOffAfter(mainString, delimiter) {
    var delimiterIndex = mainString.indexOf(delimiter);
    if (delimiterIndex != -1) { // If delimiter was found
        var endingIndex = delimiterIndex + delimiter.length;
        mainString = mainString.substring(0, endingIndex);
    }
    return mainString;
}