这篇文章主要介绍了javascript文本模板用法,实例分析了文本模板的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了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="你好小明, 欢迎再次登陆vevb";
希望本文所述对大家的javascript程序设计有所帮助。
新闻热点
疑难解答
图片精选