查找并替换为JavaScript

前端之家收集整理的这篇文章主要介绍了查找并替换为JavaScript前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试创建一个超级简单的JavaScript模板解决方案.我想使用JavaScript替换方法在模板中查找大括号的所有实例,并用适当的数据替换它们.

例如,如果我的模板是:< p>我的名字是{{name}}.我是{{age}}.< / p>

我想要结果:< p>我的名字是Olly.我19岁.< / p>

这是我到目前为止的代码http://jsfiddle.net/2RkAG/

我试图让它自动替换每一段数据,所以我不必明确告诉JavaScript要替换什么.但是,这是我遇到问题的地方.

最佳答案
仅当您直接传递字符串时,$1才有效.它不会像你拥有它那样工作,因为person [“$1”]在字符串传递给.replace之前被评估 – 而person [“$1”]字面上是未定义的.

您可以改为传递一个函数http://jsfiddle.net/2RkAG/1/.为每个替换调用函数,并且传递的参数等同于例如,$1

$result.html(template.replace(/{{(.*?)}}/g,function(a,b) {
    return person[b]; // a = complete match,b = first group
}));

你也不需要逃避第一个{.

原文链接:https://www.f2er.com/js/429513.html

猜你在找的JavaScript相关文章