本文实例讲述了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程序设计有所帮助。