学习问题参考/解决/保留

自我控制应当成为生活的基调, 美好生活是理性来指导的并且紧紧抓住崇高的理想, 人的一生,就是进行尝试,尝试得越多,生活就越美好!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

类似C#中的Format(JavaScript)

Posted on 2008-08-18 11:25  下载软件  阅读(296)  评论(0)    收藏  举报

var str ;
String.prototype.format = function()
{
    var args = arguments;               
    return this.replace(/\{(\d+)\}/g,function(x,ii)
                                     {
                                         return args[ii];
                                     }
                         );
};

var a = "I Love {0}, and You Love {1},Where are {0}!";
alert(a.format("You","Me"));

// 类似 C# 中的 string.Format,传的参数是数组,参数组长度可小于 {0} 的匹配值
String.prototype.Format = function(array)
{
 var result = this;
 var pattern = /\{\d+\}/g;
 if (pattern.test(this))
 {
  var arrayR = this.match(pattern);   
  for (var i = 0; i < array.length; i++)
  {
   var re = new RegExp("\\{"+ arrayR[i].match(/\d+/)[0] +"\\}", "ig");
   result = result.replace(re, array[i]);
  }
 }
 
 return result;
};