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与google map api结合使用 控件,监听器
Mar 04 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
JavaScript中对象介绍
Dec 31 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
JQuery对ASP.NET MVC数据进行更新删除
Jul 13 Javascript
javaScript给元素添加多个class的简单实现
Jul 20 Javascript
Highcharts入门之基本属性
Aug 02 Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 Javascript
深入浅析Vue.js计算属性和侦听器
May 05 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
Nest.js 授权验证的方法示例
Feb 22 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
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
在vue-cli脚手架中配置一个vue-router前端路由
2017/07/03 Javascript
JS实现图片切换效果
2018/11/17 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
小学运动会表扬稿
2014/01/19 职场文书
安全资金保障制度
2014/01/23 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
恰同学少年观后感
2015/06/08 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS