Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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 jquery查找并替换url中的最后一个参数_Javascript_Jquery - Fatal编程技术网

Javascript jquery查找并替换url中的最后一个参数

Javascript jquery查找并替换url中的最后一个参数,javascript,jquery,Javascript,Jquery,嗨,首先,我已经环顾四周了,但是没有什么能满足我的愿望,所以我想问是否有人能帮我解决这个问题 我有一个URL“/视图/相册/4/照片/1” 我想删除最后一个参数,并用一些东西替换它。 我想做的是找到最后一个“/”并删除它后面的数字,然后用一个新值替换它 使用php很容易,但我不知道如何在jquery中使用它,因为我刚刚开始学习它。因此,我非常感谢任何能提供帮助的人。:) 顺便说一下,这是我获取url的代码: action=$(form.attr('action');//“/view/album/

嗨,首先,我已经环顾四周了,但是没有什么能满足我的愿望,所以我想问是否有人能帮我解决这个问题

我有一个URL“/视图/相册/4/照片/1” 我想删除最后一个参数,并用一些东西替换它。 我想做的是找到最后一个“/”并删除它后面的数字,然后用一个新值替换它

使用php很容易,但我不知道如何在jquery中使用它,因为我刚刚开始学习它。因此,我非常感谢任何能提供帮助的人。:)

顺便说一下,这是我获取url的代码:

action=$(form.attr('action');//“/view/album/4/photo/1”


我不知道如何使用变量来更改最后一个参数的值,简单易懂:regexp

var paths = location.pathname.split('/');
paths[ paths.length-1 ] = 'foo'; // new value
location.pathname = paths.join('/');
action = (action.match(/(.*)\d+$/) == null) ? action : (action.match(/(.*)\d+$/)[1]+"2");
给予

试试这个
:)

API:

顺便说一句,我知道关于
:)

代码

url = "/view/album/4/photo/1"
var value = url.substring(url.lastIndexOf('/') + 1);

alert(value);

url = url.replace(value, 'hulk')
alert("new url => " + url);​
另一种方式

var str = '/view/album/4/photo/1';
var i = str.lastIndexOf('/');
if (i != -1) {
    str = str.substr(0, i) + "/new stuff";
}

alert(str);
​

如果只想替换最后一个字符,可以使用
slice
方法

$('form').attr('action', function(i, a){
    a.slice(0, -1) + 'number'
})

无聊的!我看到了一个陷阱。如果
url=“/view/album/4/photo/4”
<代码>:)太棒了!非常感谢。这是非常有用的,还有一个演示。非常感谢:)@user949000没问题!很高兴它有帮助:)第一种方法在某些情况下会失败。另一条路就是要走的路!非常感谢你!这很有趣:)这太完美了。在减去正则表达式后效果很好
$('form').attr('action', function(i, a){
    a.slice(0, -1) + 'number'
})