如何在javascript中替换令牌

How to replace a token in javascript?

本文关键字:替换 令牌 javascript      更新时间:2023-09-26

我有一个带有标记的模板,需要用实际值替换,然后通过电子邮件发送。为了做到这一点,我需要帮助用一些值替换我的令牌,并从令牌中提取令牌类型。

令牌:{{token_type:token_content}}

例如:{{input_box:greeting}}

代码jsfiddle链接

var str = "<p class=MsoNormal>{{input_box:greeting}},", regex = "/{{[a-z':]+}}/"; 
var n = str.replace(regex, someValue);
document.getElementById("demo").innerHTML =  n;

Regex应使用正斜杠而不是引号分隔。在OP代码中,

regex = "/{{[a-z':]+}}/";

字符串,而不是正则表达式。

使用非贪婪正则表达式来匹配从{{开始直到}}的任何字符串。

regex = /{{.*?}}/;

更新的Fiddle-RegEx101实时演示

var myFunction = function() {
  var str = "<p class=MsoNormal>{{input_box:greeting}},",
    regex = /{{.*?}}/;
  console.log(str);
  console.log(regex);
  var n = str.replace(regex, "Hello There");
  document.getElementById("demo").innerText = n;
}
<button onclick="myFunction()">Replace</button>
<p id="demo"></p>