用于从字符串中删除最后一项(如果存在)的javascript代码
我有一个代码,可以在下面的提琴中找到 代码是这样的用于从字符串中删除最后一项(如果存在)的javascript代码,javascript,jquery,Javascript,Jquery,我有一个代码,可以在下面的提琴中找到 代码是这样的 <a data-rel="http://mydomain.domian.com?z_9.asp&rpttype=298&sotBy=2sortOrder=1&pagenum=2"> $(document).ready(function() { var urlval = $("a").attr('data-rel'); alert(urlval); }); 我试图从url中删除&pagenu
<a data-rel="http://mydomain.domian.com?z_9.asp&rpttype=298&sotBy=2sortOrder=1&pagenum=2">
$(document).ready(function() {
var urlval = $("a").attr('data-rel');
alert(urlval);
});
我试图从url中删除&pagenum=2,如果它存在,如果它不存在,那么没有问题,如果存在,我想删除它
我应该在这里尝试什么使用此代码
$(document).ready(function() {
var urlval = $("a").attr('data-rel');
if(urlval.indexOf("pagenum")>-1){
urlval=urlval.slice(0,urlval.lastIndexOf("&"));
console.log(urlval);
}
});
这个怎么样,
或者更好的是,为什么不使用JS已经内置的东西呢
urlval = urlval.replace('&pagenum=2', '');
这将处理出现&pagenum=2而不是&p>的两种情况。使用正则表达式替换&pagenum=后跟任意数字 还要检查pagenum是第一个参数的情况,在这种情况下,它后面是一个问号,而不是一个符号和:
var urlval = $('a').attr('data-rel').replace(/[\?&]pagenum=\d*/g, '');
我假设页码并不总是2?如果&pagenum=3怎么办?在这种情况下,您可以使用regex。我不知道这可能会改变。您可以编写一个正则表达式查询,检查是否&pagenum=后跟一个数字existsWhat if pagenum=2不是最后一个参数?例如,这是在rpttype之前?编辑以说明编辑的原因,如果有参数与practicaly同名,我认为这是最好的解决方案,不需要任何第三方库来解析URL
var urlval = $('a').attr('data-rel').replace(/[\?&]pagenum=\d*/g, '');