本文實例講述了javascript文本模板用法。分享給大家供大家參考。具體如下:
這是我參考Prism.js算法寫的一個小功能,沒什麼可說的,作為程序猿看例子應該秒懂。
字符串模板引擎類:
/*class*/StringTemplate = function (
/* Optional {patt: RegExp, clPatt: RegExp}*/pattern) {
if (!!pattern) {
this.patt = pattern.patt;
this.clPatt = pattern.clPatt;
} else {
this.patt = /%\{\s*[\w\-]+\s*\}/g;
this.clPatt = /(^%\{\s*)|(\s*\}$)/g;
}
this.format = function(val, map) {
var ls = [];
var res;
var prevEnd = 0;
while ((res = this.patt.exec(val)) != null) {
var va = res[0];
var start = val.substr(prevEnd, res.index - prevEnd);
prevEnd = res.index + va.length;
ls.push(start);
var vac = va.replace(this.clPatt, "");
ls.push(map[vac]);
}
ls.push(val.substr(prevEnd, val.length));
return ls.join("");
}
}
使用方式:
var str = new StringTemplate().format("你好%{userName }, 歡迎再次登陸%{systemName}",{userName: "小明", systemName: "jb51"});
//str="你好小明, 歡迎再次登陸jb51";
希望本文所述對大家的javascript程序設計有所幫助。