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 选项卡效果(JS与HTML的分离)
Apr 01 Javascript
基于jquery的动态创建表格的插件
Apr 05 Javascript
基于JavaScript实现弹出框效果
Feb 19 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
Jun 01 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
Jul 01 Javascript
JavaScript实现简单评论功能
Aug 17 Javascript
webpack处理 css\less\sass 样式的方法
Aug 21 Javascript
JavaScript比较同一天的时间大小实例代码
Feb 09 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 Javascript
express + jwt + postMan验证实现持久化登录
Jun 05 Javascript
解决vue的touchStart事件及click事件冲突问题
Jul 21 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
Nov 16 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微信公众平台开发类实例
2015/04/01 PHP
初识PHP中的Swoole
2016/04/05 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
javascript操作符"!~"详解
2015/02/10 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
Python使用MONGODB入门实例
2015/05/11 Python
Python的Django框架安装全攻略
2015/07/15 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
自考生毕业自我鉴定
2013/10/10 职场文书
招商业务员岗位职责
2013/12/16 职场文书
《春雨》教学反思
2014/04/24 职场文书
2015年女职工工作总结
2015/05/15 职场文书
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript