ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。

/*** (方式1)、字符串格式:  "hello {0} ,welcome to {1}.".format("hlan","beijing"); >> hello hlan ,welcome to beijing.*/
if (!String.prototype.format) {String.prototype.format = function () {var args = arguments;return this.replace(/{(\d+)}/g, function (match, number) {return typeof args[number] != 'undefined' ? args[number] : "";});};
};
/*
*  (方式2)、字符串格式: iFormat("hello {0} ,welcome to {1}.","hlan","beijing"); >> hello hlan ,welcome to beijing.
*/
function iFormat() {var str, args = areguments;if (args.length <= 0) return "";if (args.length == 1) return args[0];str = args[0];for (var i = 1; i < args.length; i++) {str = str.replace("{" + (i - 1) + "}", args[i]);}return str;
}

js实现string.format函数相关推荐

  1. js 字符串格式化format函数扩展

    js中有时需要格式化一个字符串,但js string类并没有format函数,有时候动态填充的数据太长,拼接起来很麻烦,我们可以通过string类原型扩展自定义一个,方便使用,下面是format的一个 ...

  2. python知识:string.format()函数详解

    python2.6 新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . 一.处理字符串 1 不设置指定位置,按默认 ...

  3. JS字符串格式化函数 string.format

    原生JS写的仿C#的字符串format函数,在此基础上又增加了便于JS使用的字面量对象参数,且字面量对象可以嵌套调用. 参照C#中的规则,调用的时候会检测字符串格式,如果字符串格式不规范,或者传入的参 ...

  4. JS类似Java String.format的函数

    From: http://chenzenghua.iteye.com/blog/1770791 Js代码   String.prototype.format = String.prototype.f  ...

  5. Objective-C 字符串拼接函数 多个不同类型的参数拼接到一个字符串 类似于Java中 String.format()方法的原生API

    总目录 iOS开发笔记目录 从一无所知到入门 文章目录 需求 Screenshot Code Output 需求 我有多个参数(类型也许不同),需要拼接到一个字符串中. 在Java中有String.f ...

  6. js之String()函数

    String()为构造函数,用于字符的类型的转换和字符串操作. 1.所有东西都能往里塞,并转换成字符类型. var str = String(123); console.log(str);//123 ...

  7. 编写javascript、Jquery的String.format();

    在javascript.Jquery里面好像是没有String.format();这个函数的,所以我们在拼接字符串的时候就特别的辛苦,生怕又打错,而且又乱,所以就自己去写一个函数来代替. String ...

  8. JavaScript等同于printf / String.Format

    我正在寻找一个等效于C / PHP printf()或C#/ Java程序员的String.Format() (适用于.NET的IFormatProvider String.Format() Java ...

  9. android String.format

    资源创建: <!-- 多参数验证 -->     <string name="text">截止到:%1$tc\n销售量比去年增长了%2$d%%\n在这里我对 ...

最新文章

  1. pandas任取dataframe中的一个或者多个数据行(head、tail、loc、iloc),将抽取到的一个或者多个数据行复制N次形成新的dataframe
  2. JavaScript引擎研究与C、C++与互调用(转)
  3. 数据分析与挖掘 - R语言:贝叶斯分类算法(案例三)
  4. Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中
  5. 图像工程CH5:图像消噪和恢复
  6. 一文读懂工业设备的两种通讯方式:现场总线和工业以太网
  7. 《我也能做CTO之.程序员职业规划》 水准之上,期望以下
  8. java jdbc is一个会话_java_JdbcUtilis_单实例
  9. 互联网日报 | 7月8日 星期四 | 小鹏汽车港交所上市;同程生活宣布申请破产;紫光国微市值突破千亿元...
  10. 大学专业:这4个计算机类专业很受欢迎,毕业后薪资待遇高?
  11. XP引导Ubuntu--Ubuntu手记之系统配置
  12. Java中abstract关键字详解
  13. GPS从入门到放弃(十九) --- 精密星历
  14. 使用 npm 打包项目
  15. 数字漫画行业繁花似锦,国漫扎根本土文化“向外生长”?
  16. python写excel文件出错_Python代码导致excel文件损坏。如何纠正这一点?
  17. 自动化测试处理textarea文本框
  18. img标签的大小自适应
  19. 媒体-PR-微商-地摊儿…… 媒体人的转型你到了哪一步?
  20. LaTex科学论文写作入门

热门文章

  1. PYTHON 类定义,属性,初始化
  2. 修改计算机休眠状态,win7更改睡眠模式怎么操作?win7睡眠设置方法
  3. 利用iOS ARKit制作AR传送门
  4. 并行for #pragma omp parallel for
  5. jquery饼状图插件的指引线_绘制指引线的JS库leader-line
  6. 旗帜软件工作室Java第二阶段考核答案
  7. node节点的资源限制
  8. Java 阵营到底有什么意思
  9. 在URL中添加UTM链接标签追踪流量效果
  10. gshock手表时间校准