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如何改变html标签的样式(两种实现方法)
Jan 16 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
Apr 06 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
Dec 28 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
Jul 18 Javascript
JavaScript适配器模式详解
Oct 19 Javascript
基于twbsPagination.js分页插件使用心得(分享)
Oct 21 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
Dec 18 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
Apr 02 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
Jul 23 Javascript
javascript中正则表达式语法详解
Aug 07 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
杏林同学录(一)
2006/10/09 PHP
一步一步学习PHP(2)――PHP类型
2010/02/15 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
javascript中Function类型详解
2015/04/28 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
如何理解Vue的render函数的具体用法
2017/08/30 Javascript
js中null与空字符串""的区别讲解
2019/01/17 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
python单元测试unittest实例详解
2015/05/11 Python
python复制文件到指定目录的实例
2018/04/27 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
护士长竞聘演讲稿
2014/04/30 职场文书
感恩节活动策划方案
2014/05/16 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
门面租赁合同范文
2019/08/06 职场文书