按名称将文本替换为JavaScript属性的内容

时间:2012-07-04 23:22:17

标签: javascript regex

我有这个正则表达式:

/\{([a-zA-Z\.]*)\

我想用它来代替这样的文字:

{identifier}

使用值作为对象属性,其名称为括号的值。在这种情况下,它将是object.identifier。类似的东西:

html.replace(/\{([a-zA-Z\.]*)\}/g, object.$1);

感谢快速共鸣,这是最终的代码

html = html.replace(/\{([a-zA-Z\.]*)\}/g, $.proxy(function (match, contents, offset, s) {
    return objx.get(this.response[object.attr("data-index")],contents);
},this));

1 个答案:

答案 0 :(得分:2)

您可以为.replace指定回调:

html.replace(/{([a-zA-Z.]*)}/g, function(x, a) {
    return object[a];
});