字符串例如
" 一千个啥图一千个啥啥啥,其中%%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, '');
};
}