惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
B
Blog
博客园_首页
博客园 - 司徒正美
有赞技术团队
有赞技术团队
博客园 - 聂微东
I
InfoQ
美团技术团队
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog

小涂博客

mTab书签一些基础的操作教程 分享一个简化服务器管理的在线ssh工具利器-WebTerm 蓝易云SCDN — 强大的安全防护CDN,为你的网站提供全方位防护! VsCode的EasyLess扩展的setting.json配置 js复制图片到粘贴板 Ubuntu 22.04版本中,root用户登录、硬盘挂载等新机器操作指南 Linux中iostat命令 Redis基本命令和常用数据类型 为普通用户授权访问k8s资源(tls,rbac)
JS字符串模板替换一般用于国际化中含有动态书内容使用
涂山 · 2023-12-13 · via 小涂博客

涂山 web前端 阅读 3.39k

有时候国际化或者一段动态的支付模板或者短信模板配置中需要一些动态的参数,可以用下面的方法来动态渲染部分需要变化的字符串的内容。

const myRender = (template, person) => {
  let reg = /{{(.*?)}}/g

  let res = template.replace(reg, (item, key) => {
    return person[key]
  })

  return res
}

let template = '我是{{name}},年龄{{age}},性别{{sex}}'
let person = {
  name: '布兰',
  age: 12,
}

let res = myRender(template, person)
console.log(res) // 我是布兰,年龄12,性别undefined