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 相关文章推荐
封装了一个js图片轮换效果的函数
Sep 28 Javascript
js获取IFRAME当前的URL的方法
Nov 13 Javascript
JS动态调用方法名示例介绍
Dec 18 Javascript
JS、DOM和JQuery之间的关系示例分析
Apr 09 Javascript
JS解析XML文件和XML字符串详解
Apr 17 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
jQuery返回定位插件详解
May 15 jQuery
React Native实现进度条弹框的示例代码
Jul 17 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
Jan 17 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
Apr 27 Javascript
开发用到的js封装方法(20种)
Oct 12 Javascript
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
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怎样调用MSSQL的存储过程
2006/10/09 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
js tab效果的实现代码
2009/12/26 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
python实现线程池的方法
2015/06/30 Python
使用python实现省市三级菜单效果
2016/01/20 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
python生成并处理uuid的实现方式
2020/03/03 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
大学生职业生涯规划书范文
2014/01/04 职场文书
双十佳事迹材料
2014/01/29 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
就业协议书
2014/09/12 职场文书
教师辞职书范文
2015/02/26 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
mysql 带多个条件的查询方式
2021/06/05 MySQL
Python学习之异常中的finally使用详解
2022/03/16 Python