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 初体验(建议学习jquery)
Apr 25 Javascript
原生javascript实现隔行换色
Jan 04 Javascript
jquery.map()方法的使用详解
Jul 09 Javascript
JS实现的通用表单验证插件完整实例
Aug 20 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
Nov 09 Javascript
jQuery中get方法用法分析
Dec 07 Javascript
解决webpack打包速度慢的解决办法汇总
Jul 06 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
Dec 20 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
Apr 25 Javascript
通过javascript实现段落的收缩与展开
Jun 26 Javascript
解决vue自定义指令导致的内存泄漏问题
Aug 04 Javascript
使用Canvas绘制一个游戏人物属性图
Mar 25 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
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
php生成短域名函数
2015/03/23 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
Js控制滑轮左右滑动实例
2015/02/13 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
python 函数中的参数类型
2020/02/11 Python
新手学python应该下哪个版本
2020/06/11 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
python中数字是否为可变类型
2020/07/08 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
python使用列表的最佳方案
2020/08/12 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python