javascript文本模板用法实例


Posted in Javascript onJuly 31, 2015

本文实例讲述了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: "3water"});
//str="你好小明, 欢迎再次登陆3water";

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js计数器代码
Nov 04 Javascript
xml 与javascript结合的问题解决方法
Mar 24 Javascript
javascript事件问题
Sep 05 Javascript
实例讲解JQuery中this和$(this)区别
Dec 08 Javascript
详解Webwork中Action 调用的方法
Feb 02 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
Dec 23 Javascript
JavaScript实现二分查找实例代码
Feb 22 Javascript
微信小程序Redux绑定实例详解
Jun 07 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
vue 获取及修改store.js里的公共变量实例
Nov 06 Javascript
微信小程序间使用navigator跳转传值问题实例分析
Mar 27 Javascript
js闭包和垃圾回收机制示例详解
Mar 01 Javascript
Javascript实现网络监测的方法
Jul 31 #Javascript
jquery模拟alert的弹窗插件
Jul 31 #Javascript
JSON字符串转JSON对象
Jul 31 #Javascript
javascript实现简单的页面右下角提示信息框
Jul 31 #Javascript
JavaScript实现快速排序的方法
Jul 31 #Javascript
javascript常用正则表达式汇总
Jul 31 #Javascript
轻量级网页遮罩层jQuery插件用法实例
Jul 31 #Javascript
You might like
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
JavaScript库 开发规则
2009/01/31 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
JS实现将链接生成二维码并转为图片的方法
2018/03/17 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
浅析Python中signal包的使用
2015/11/13 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
Python编程实现的图片识别功能示例
2017/08/03 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
python 实现两个线程交替执行
2020/05/02 Python
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
Python requests库参数提交的注意事项总结
2021/03/29 Python
python基础入门之普通操作与函数(三)
2021/06/13 Python
Java中使用Filter过滤器的方法
2021/06/28 Java/Android
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python