本文實例講述了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程序設計有所幫助。