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 相关文章推荐
漂亮的widgets,支持换肤和后期开发新皮肤
Apr 23 Javascript
用JS实现的一个include函数
Jul 21 Javascript
解析Jquery的LigerUI如何实现文件上传
Jul 09 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
Aug 16 Javascript
Javascript中的关键字和保留字整理
Oct 16 Javascript
JavaScript中的函数模式详解
Feb 11 Javascript
JavaScript实现添加及删除事件的方法小结
Aug 04 Javascript
JS验证图片格式和大小并预览的简单实例
Oct 11 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 Javascript
iconfont的三种使用方式详解
Aug 05 Javascript
浅谈HTTP 缓存的那些事儿
Oct 17 Javascript
javascript实现考勤日历功能
Nov 29 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
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
js图片预加载示例
2014/04/30 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
简述JS浏览器的三种弹窗
2018/07/15 Javascript
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
使用Tkinter制作信息提示框
2020/02/18 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
Python爬虫教程知识点总结
2020/10/19 Python
迪拜航空官方网站:flydubai
2017/04/20 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
C,C++的几个面试题小集
2013/07/13 面试题
大学生实习感言
2014/01/16 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
父母对孩子的寄语
2014/04/09 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
网络技术专业求职信
2014/07/13 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
详解Redis集群搭建的三种方式
2021/05/31 Redis
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
为什么RedisCluster设计成16384个槽
2021/09/25 Redis
Golang 并发下的问题定位及解决方案
2022/03/16 Golang