为JavaScript添加String.Format方法

作者:异步漫步时间:2026-10-24 09:13:02浏览:568

本文介绍如何在JavaScript中为String对象添加Format方法,通过正则表达式实现类似C#的{0}、{1}占位符替换功能,提供完整的扩展代码及调用示例,帮助开发者简化字符串拼接操作。

JavaScript String.Format 实现

核心代码


<script type='text/javascript'>

String.format = function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}

function stringFormat() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}

--用法

var name='jb51.net';
var greeting1 = String.format("Hi--1, {0}, '{1}',this is a '{0}'! ", name, 'uuu');
var greeting2 = stringFormat("Hi--2, {0}, '{1}',this is a '{0}'! ", name, 'uuu');
alert(greeting1 + '\r\n' + greeting2);
</script>

将以下代码直接作为字符串对象的扩展方法使用


String.format = function() {
  for (var a = arguments[0], b = 1; b < arguments.length; b++) a = a.replace(RegExp("\\{" + (b - 1) + "\\}", "ig"), arguments[b]);
  return a
};

调用示例:String.format('Hello. My name is {0} {1}.', firstName, lastName);

作者最新文章