如何在/符号后删除URL中的所有内容?

时间:2015-01-19 07:49:06

标签: jquery

我的网址可能如下:

http://www.example.com/xchanges/?sfid=422&_sft_category=ogilvy

我需要在点击后更改URL并成为

http://www.example.com/xchanges/

不需要其他操作,只需更改URL字符串即可。所以基本上我需要消除?sfid=422&_sft_category=ogilvy但这是动态的,所以http://www.example.com/xchanges/之后的所有内容都可以是

$('.filter').on( 'click', 'a', function( event ) {
 event.preventDefault();
 ..Change url...
});

4 个答案:

答案 0 :(得分:0)

您可以使用split()函数将ulr字符串拆分为两部分。

然后使用?

保留第一部分(pop()之前)

检查DEMO(检查控制台)

var url = 'http://www.example.com/xchanges/?sfid=422&_sft_category=ogilvy';

var arr = url.split('?');
arr.pop();
console.log(arr[0]);

编辑(为了导航)

window.location.href = arr[0];

编辑#2

首先,获取当前网址(无论它是什么)并将其存储在变量中:

var url = window.location.href;

然后按上述步骤进行操作(拆分网址,仅保留第一部分并将网页重定向到此网址)



$('#change').on('click', function() {
  var url = $('span').text();

  var arr = url.split('?');
  arr.pop();
  //alert(arr[0]);
  window.location.href = arr[0];
});

span {
  width: 100%;
  float: left;
}

#change {
  display: inline-block;
  padding: 10px;
  background-color: #333;
  color: #fff;
  float: left;
  margin-top: 10px;
  cursor: pointer;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span>http://www.example.com/xchanges/?sfid=422&_sft_category=ogilvy</span>

<div id="change">change</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

'http://www.example.com/xchanges/?sfid=422&_sft_category=ogilvy'.replace(/[^\/]*$/, '')

这将删除最后一个符号/

之后的字符串

答案 2 :(得分:0)

您可以使用Location API

来执行此操作,而无需使用jQuery,拆分,替换或正则表达式
const changeURL = ( event ) => {
    event.preventDefault()
    window.location.href = window.location.hostname + window.location.pathname
}

document.querySelector( '.filter a' ).addEventListener( 'click', function() {
    changeURL( event )
})

答案 3 :(得分:-1)

var geturl = InputUrl

StringBuilder BuildUrl = new StringBuilder();

String[] separated = System.Text.RegularExpressions.Regex.Split(geturl, "[% ? / & =]");

for(int i =0; separated.Length > i; i++)
{
    BuildUrl.Append("" + separated[i] + "");
}