我正在尝试使用jquery replace()替换textarea中的各种字符串(标记)。我可以使它工作,除了它只替换textarea中的第一次出现并需要它做所有。
我可以做这样的替换;
var token = '{IP}';
sdText = sdText.replace(token, $('.' + data.name).val());
我需要这样做才能捕捉所有事件;
var token = '{IP}';
sdText = sdText.replace(/token/g, $('.' + data.name).val());
因为我需要替换textarea中可能出现多次令牌。每次迭代.each()循环时令牌的值都会发生变化,我需要为每次迭代注入正则表达式语句中的值。
有谁知道我会如何做到这一点?
谢谢
答案 0 :(得分:1)
对于动态regex
使用RegExp()
构造函数。
var regex = new RegExp(token, 'g');
sdText = sdText.replace(regex, $('.' + data.name).val());