我有一个具有类似URL的字符串:
var url ="http://ispeakphone.com/checkout/cart/add/uenc/aHR0cDovL2lzcGVha3Bob25lLmNvbS9zYW1zdW5nL3NhbXN1bmctZ2FsYXh5LXMvZ2FsYXh5LXM5LXBsdXMuaHRtbA,,/product/619/form_key/foxmD7jgFv31xmEs/qty/3/?options=cart";
我正在从输入中获得按钮点击的数量,例如:
var qty = jQuery(this).siblings('.quantity-field').val(); // 4
每次从按钮单击输入中获得新值时,如何将URL字符串"/qty/3/"
的数量更改为"/qty/4/"
?
我不能简单地查找和替换,因为我不知道/qty/3
的确切数字是2,3,4,5 etc
答案 0 :(得分:1)
这是具有此功能的功能
function changeValue(str,value){
return str.replace(/\/qty\/[0-9]+\//,`\/qty\/${value}\/`)
}
console.log(url,4);
答案 1 :(得分:0)
您可以使用替换方法。
在/qty
的回调更改值中,捕获group 1 (g1)
中直到group 2 (g2)
的所有内容,group 3 (g3)
中的所有以下数字,并保留在group 2
中,需要。
var url ="http://ispeakphone.com/checkout/cart/add/uenc/aHR0cDovL2lzcGVha3Bob25lLmNvbS9zYW1zdW5nL3NhbXN1bmctZ2FsYXh5LXMvZ2FsYXh5LXM5LXBsdXMuaHRtbA,,/product/619/form_key/foxmD7jgFv31xmEs/qty/3/?options=cart";
let desired = url.replace(/^(.*\/qty\/)(\d+)(.*)$/g, function(match,g1,g2,g3){
return g1+ (Number(g2)+1) + g3
})
console.log(desired)