【JS篇】格式化模板字段,将字符串中的${xxx}替换为数据中对应字段值(如将${name},替换为对应的name值)

前言:
项目中遇到某动态表格列需要根据后端配置的模板格式化展示内容,于是考虑可以通过与后端约定特定标识替换模板字段中的内容(如将${name},替换为对应的name值),参考相关文章后整理方法如下:

格式化方法:

/**
 * 格式化模板字段 - 将字符串value中的${xxx}替换为数据中对应字段值,如${name},替换为data中的name值
 * @param {*} value 需要替换数据的字符串
 * @param {*} data 替换内容对应的json数据
 */
 export const formatTemplateField = (value, data) => {
  // 分别将json数据 data 中的键名和键值取出存储
  const keys = Object.keys(data);
  const dataList = keys.map(function(key) {
    return data[key];
  });
  // 遍历键名:判断字符串value中是否包含对应键名。若有,则替换为相应的键值。
  for (var i = 0; i < keys.length; i++) {
    value = value.replace(
      new RegExp("\\$\\{" + keys[i] + "\\}", "gm"),
      dataList[i]
    );
  }
  return value;
}

调用:

const record = {
	name: '张三',
	age: 28
};
const str = formatTemplateField("姓名:${name} 年龄: ${age}", record);
console.log(str);  // 输出:姓名:张三 年龄: 28

参考文章:https://blog.csdn.net/qq_37167049/article/details/103784178

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: To create a SQL table field for phone numbers with the following specifications: Field name: phone Data type: VARCHAR(20) Description: Phone number Constraints: Not null, length can only be 11 digits or in the format XXX-XXXXXXXX Here's the SQL statement to create the field: ``` CREATE TABLE table_name ( phone VARCHAR(20) NOT NULL, CHECK (phone LIKE '___________' OR phone LIKE '___-_________') ); ``` In the above statement, "table_name" refers to the name of the table where this field will be added. The "NOT NULL" constraint ensures that the phone number field cannot be left blank. The "CHECK" constraint allows only two formats: either 11 continuous digits (represented by underscores) or three digits followed by a hyphen and then eight digits. ### 回答2: SQL字段名称为phone,数据类型为varchar(20),表示存储电话号码。该字段不能为空,并且长度限制为20个字符。电话号码的长度只能是11位数或者使用XXX-XXXXXXXX的格式。 对于只能是11位数的电话号码,表示该字段只能存储11位数字,不能包含任何其他字符。比如:18212345678。 对于使用XXX-XXXXXXXX格式的电话号码,表示该字段可以存储以三位数字 + 横线 + 八位数字的格式。例如:0571-12345678。 这样的设计可以保证电话号码的有效性和格式一致性。非空限制可以避免空的出现,确保在插入或修改数据时必须提供电话号码信息。长度限制可以防止存储超过11位的错误数据,以及提供一种常见的电话号码格式给用户参考。 使用varchar(20) 数据类型是为了兼容存储较长的电话号码,以及可能在未来对该字段进行扩展。在具体的数据库设计,还可以添加索引,以提高查询效率。 ### 回答3: 字段名称phone是一个数据类型为varchar(20)的字段,表示电话号码。该字段是非空的,不允许为空存在。电话号码的长度限制为11位,或者可以使用格式为XXX-XXXXXXXX的形式。 在这个字段,使用varchar(20)数据类型可以存储任意长度的字符串,长度限制为20个字符。电话号码通常是纯数字组成,因此设定长度为11位,确保能够存储标准的电话号码。 另外,电话号码字段也可以使用格式化的方式进行存储,即XXX-XXXXXXXX的形式。这种格式的电话号码由三位区号和八位电话号码组成,间用"-"符号分隔。这样的格式统一了电话号码的显示,方便读取和识别。 需要注意的是,无论是11位纯数字的电话号码还是使用格式化的电话号码,该字段都是非空的,即必须在该字段存储有效的电话号码,不允许为空存在。 综上所述,字段名称为phone的数据类型是varchar(20),表示电话号码。该字段非空,长度限制为11位数字或者使用XXX-XXXXXXXX的格式。这样可以确保在数据存储有效的电话号码,并且符合统一的显示格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

章魚尐芄子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值