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 相关文章推荐
通过jQuery源码学习javascript(三)
Dec 27 Javascript
js简单实现点击左右运动的方法
Apr 10 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
Mar 13 Javascript
微信小程序实现带刻度尺滑块功能
Mar 29 Javascript
Vue2.0 从零开始_环境搭建操作步骤
Jun 14 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
Jul 31 Javascript
Vue的MVVM实现方法
Aug 16 Javascript
es6新特性之 class 基本用法解析
May 05 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
Sep 03 Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 Javascript
微信小程序swiper实现文字纵向轮播提示效果
Jan 21 Javascript
js制作提示框插件
Dec 24 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
thinkphp备份数据库的方法分享
2015/01/04 PHP
分享PHP守护进程类
2015/12/30 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
js querySelector和getElementById通过id获取元素的区别
2012/04/20 Javascript
用js调用迅雷下载代码的二种方法
2013/04/15 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
js日期联动示例
2014/05/02 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
jquery的$().each和$.each的区别
2019/01/18 jQuery
Vue路由前后端设计总结
2019/08/06 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
Python二分查找详解
2015/09/13 Python
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
Python爬虫设置代理IP的方法(爬虫技巧)
2018/03/04 Python
python定时关机小脚本
2018/06/20 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
使用 CSS3 中@media 实现网页自适应的示例代码
2020/03/24 HTML / CSS
关于幼儿的自我评价
2013/12/18 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
学校课外活动总结
2014/05/08 职场文书
个人安全生产责任书
2014/07/28 职场文书
2016教师节问候语
2015/11/10 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android