正则替换模板字符串

68 篇文章 0 订阅

字符串例如

" 一千个啥图一千个啥啥啥,其中%%name%%是独一无二的吗?你是怎么回答的呢?%%answer%% "

用下面 方法处理

/*
 * @description 处理模版字符串代码
 * @params { object } context 用于替换的键值对
 * @return { string } 返回的文字数据
 */
String.prototype.handleTemplateWithData = function(context){
	return this.replace(/%%(.*?)%%/g,function(match,key){	//	key代表第1个括号匹配的字符串
		/*console.log(match);*/
		let value = context[key.trim()];
		return value ? value: '';
	})
}
/*String.prototype.handleTemplateWithData = function(context){
	return this.replace(/%%(.*?)%%/g,(match,key)=>context[key.trim()]);
}*/	
//用数据处理template并传回处理好的html
/*function handleTemplateWithData(template, templateData){
	try{
		var reg = new RegExp('','g');
		for(var i in templateData){
			reg.compile("%%" + i + "%%",'g');
			template = template.replace(reg,templateData[i]);
		}
		return template;
	}
	catch(err){
		return "error:" + err;
	}	
}*/

如果trim方法不存在,别忘了加上兼容

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
  };
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值