gpt4 book ai didi

Javascript 替换为正则表达式模式问题

转载 作者:行者123 更新时间:2023-11-28 02:40:30 24 4
gpt4 key购买 nike

请考虑下面的 javascript 和 html。
addAnotherAddress()第一次运行时,我期望 <div class="previous_address1"> 中的所有 1将被替换为 2's,然后该 html 将被附加到 <div id="previous_addresses">但这不会发生在 html.replace(pattern, current_address + 1) 时运行。

我在这里做错了什么?

Javascript

var current_address = 1; // Used when adding in previous address entries

function addAnotherAddress() {
var pattern = '/' + current_address + '/g';
var html = $('.previous_address' + current_address).html();

html = html.replace(pattern, current_address + 1);

$('#previous_addresses').append(
'<div class="previous_address' + (current_address + 1) + '">' + html + '</div>'
);
current_address += 1;
}

HTML

<div id="previous_addresses">
<span class="text_line">
<u>Previous Addresses for Past 5 Years</u>
</span>
<div class="previous_address1">
<span class="text_line">
<i>Address 1</i>
</span>
<span class="text_line">
<label for="previous_street1">Street:</label>
<input type="text" id="previous_street1" />
</span>
<span class="text_line">
<label for="previous_city1">City:</label>
<input type="text" id="previous_city1" />
</span>
<span class="text_line">
<label for="previous_state1">State:</label>
<input type="text" id="previous_state1" />
</span>
<span class="text_line">
<label for="previous_zip1">Zip:</label>
<input type="text" id="previous_zip1" />
</span>
<span class="text_line">
<label for="previous_county1">County:</label>
<input type="text" id="previous_county1" />
</span>
</div>
</div>

最佳答案

您不能直接使用字符串格式的正则表达式模式,您必须对其进行评估:

html = html.replace(new RegExp(current_address, "g"), current_address + 1);

关于Javascript 替换为正则表达式模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12730937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com