Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于从字符串中删除最后一项(如果存在)的javascript代码_Javascript_Jquery - Fatal编程技术网

用于从字符串中删除最后一项(如果存在)的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, '');