jquery正则表达式替换已知模式中的子字符串

vlf7wbxs  于 2023-05-06  发布在  jQuery
关注(0)|答案(4)|浏览(93)

你能帮我在下面的img src中替换“666666&r=”和“&u”之间的任何内容吗?

img src="img.php?&w=300&b=a&n=666666&r=3m&u=domain.com" class="graph"

现有尝试

$("#changeimg").change(function() {

    $('.graph').each(function(index) {

       //var sub = t.replace(/^.*666666&r=(.*)&u=*$/, '1y'); ??

       $(this).attr("src", sub);

    });

});
owfi6suc

owfi6suc1#

这将很好地工作:

var newString = oldString.replace(/([&?]r=)[^&]*/, '$11y');

它将替换r=参数,不管它是在查询字符串的开头,还是中间(如您发布的示例)

8hhllhi2

8hhllhi22#

t.replace( /^(.*666666&r=)([^&]*)(&u=.*)/, "$11y$3" )

https://regex101.com/r/M8nDNA/1的示例和证明

yduiuuwa

yduiuuwa3#

var sub = $(this).attr('src').replace(/&r=.*&/, '&r=1y&');
huwehgph

huwehgph4#

谢谢大家的回答!!!
这是工作现在:

$("#changedate").change(function() {
    var sel = $("#changedate").val();
    $('img').each(function(index) {
        $(this).attr("src", $(this).attr('src').replace(/([&?]r=)[^&]*/, '$1' + sel));
    });
});

相关问题