Javascript заменить все?

Я работаю над циклом для замены языковых тегов {lang_vname} с фактическим термином (имя)

language.js:

var lang = {
//common
   vname                   : "name",
   name                    : "lastname",
   adress                  : "adress",
   language                : "language",

заменить скрипт

function translate(output)  {
var term = output;
$.each(lang,function(i,l){
    var find = "{lang_"+i+"}";
    term = term.replace(find,l);
});
return term;}

Я не могу понять, как заменить вывод, если есть более одного выражения одного вида. Он заменяет только первый, и если есть второй тег, он отображает тег. Я нашел решение как replace(/find/g,l); но это не работает здесь и останавливает весь мой сценарий.
Есть ли способ решить это легко?

РЕДАКТИРОВАТЬ

спасибо Феликсу Клингу! ссылка, которую он предоставил, заставила его работать:D мой окончательный результат

function translate(output)  {
    var term = output;
    $.each(lang,function(i,l){
        var find = "{lang_"+i+"}";
        var regex = new RegExp(find, "g");
        term = term.replace(regex, l);  
    });
    return term;
}

спасибо за вашу скорую помощь!

1 ответ

Решение

Если это не сработает, приведите пример для вывода переменной

function translate(output)  {
    var term = output;
    $.each(lang, function(i, l){
        var find = new RegExp("{lang_"+i+"}", "g");
        term = term.replace(find, l);
    });
    return term;

}
Другие вопросы по тегам