Javascript代码,用于从字符串中删除最后一项(如果它存在)

javascript code for removing last item from string if it exists

本文关键字:如果 存在 一项 最后 用于 代码 字符串 删除 Javascript      更新时间:2023-09-26

我有一个代码,可在以下小提琴

http://jsfiddle.net/wbagktuw/

代码是这样的

<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,如果它存在,如果它不存在,那么没问题,如果存在,我想删除该

我该怎么做呢

使用正则表达式替换&pagenum=后面任意数字

还检查pagenum是第一个参数的情况,在这种情况下,它后跟问号而不是&符号:

var urlval = $('a').attr('data-rel').replace(/['?&]pagenum='d*/g, '');

使用此代码

 $(document).ready(function() {
    var urlval = $("a").attr('data-rel');
    if(urlval.indexOf("pagenum")>-1){
     urlval=urlval.slice(0,urlval.lastIndexOf("&"));
    console.log(urlval);
    }
});

jsfiddle http://jsfiddle.net/wbagktuw/2/

或者更好,为什么不直接使用JS已经内置的…

urlval = urlval.replace('&pagenum=2', '');

这将处理&pagenum=2存在而不

的情况。

这个怎么样?小提琴

  $(document).ready(function() {
    var urlval = $("a").attr('data-rel');
    var length = urlval.length
    var start = urlval.indexOf("&pagenum=");
    if (start !== -1){
        var next = urlval.indexOf("&",start+1);
        next = (next !== -1)?next:length;
        var res = urlval.substring(start, next);
        urlval = urlval.replace(res, '');
    }
    alert(urlval);
});