JS / HTML5从url中删除url params

时间:2012-05-10 22:04:51

标签: javascript html5 url url-parameters

我有这样的网址

/users/?i=0&p=90

如何在js中删除

中的部分
? to 90

任何人都可以给我看一些代码吗?

修改

我的意思是用window.location.href这样做(所以直接在浏览器url栏中)

我试过

function removeParamsFromBrowserURL(){
    document.location.href =  transform(document.location.href.split("?")[0]);
    return document.location.href;
}

我也不想重定向,所以只需清理网址?结束

5 个答案:

答案 0 :(得分:4)

function removeParamsFromBrowserURL(){
    return window.location.href.replace(/\?.*/,'');
}

答案 1 :(得分:2)

如果您只想要/users/部分:

var newLoc = location.href.replace( /\?.+$/, '' );

你也可以拆分字符串,并返回第一部分:

var newLoc = location.href.split("?")[0];

或者您可以将所有内容与问号相匹配:

if ( matches = location.href.match( /^(.+)\?/ ) ) {
  alert( matches[1] );
}

答案 2 :(得分:1)

一种方式是leftside = whole.split('?')[0],假设没有?在所需的左侧

http://jsfiddle.net/wjG5U/1/

这将从网址中删除?...并自动将浏览器重新加载到已剥离的网址(无法让它在JSFiddle中工作)我在下面的代码中有一个文件,并放一些?a = b内容然后手动点击按钮。

<html>
  <head>
    <script type="text/javascript">
function strip() {
  whole=document.location.href;
  leftside = whole.split('?')[0];
  document.location.href=leftside;
}

    </script>
  </head>
  <body>
    <button onclick="strip()">Click</button>
  </body>
</html>

答案 3 :(得分:0)

如果你只想要/ users /部分,那么你可以将它子串起来:

var url = users/?i=0&p=90;
var urlWithNoParams = url.substring(0, url.indexOf('?') - 1);

将字符串从索引0提取到'?'之前的字符字符。

答案 4 :(得分:0)

无论我使用哪种网址重定向,我都遇到了#page来回引用的问题。这解决了一切。

我使用了这样的脚本:

<script type="text/javascript">

function strip() {
  whole=document.location.href;
  leftside = whole.split('#')[0];
  document.location.href=leftside;
}
</script>
<a onclick="strip()" href="http://[mysite]/hent.asp" >Click here</a>