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

时间:2015-05-20 19:59:42

标签: javascript jquery

我有一个代码可以在以下小提琴中使用

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);
});

我试图从网址中删除&amp; pagenum = 2,如果它不存在,如果它不存在,那么没问题,如果存在,我想删除

我应该在这里尝试什么

4 个答案:

答案 0 :(得分:4)

使用正则表达式替换&pagenum=后跟任意位数。

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

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

答案 1 :(得分:0)

使用此代码

 $(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/

答案 2 :(得分:0)

这个怎么样, fiddle

  $(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);
});

答案 3 :(得分:0)

甚至更好,为什么不使用JS已经内置的东西..

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

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

的情况