| 導購 | 订阅 | 在线投稿
分享
 
 
 

javascript String.format

2008-08-15 06:29:38  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  经常在js里拼字符串,实在忍不下去了,在网上搜索了一下js版的String.format。

  第一个写得太巧妙了,看了半天没看懂。

  为了跟C#语法配合,还是选用第二个版本吧。

  

  看了下没有在jquery里找到这方面的功能,也不知ASP.NET Ajax Library里是怎么实现这个的。

  

  <script type="text/javascript">

  //V1 method

  String.prototype.format = function()

  {

   var args = arguments;

   return this.replace(/\{(\d+)\}/g,

   function(m,i){

   return args[i];

   });

  }

  //V2 static

  String.format = function() {

   if( arguments.length == 0 )

   return null;

   var str = arguments[0];

   for(var i=1;i<arguments.length;i++) {

   var re = new RegExp('\\{' + (i-1) + '\\}','gm');

   str = str.replace(re, arguments[i]);

   }

   return str;

  }

  var a = "I Love {0}, and You Love {1},Where are {0}! {4}";

  alert(String.format(a, "You","Me"));

  alert(a.format("You","Me"));

  </script>
 
 
 
经常在js里拼字符串,实在忍不下去了,在网上搜索了一下js版的String.format。 第一个写得太巧妙了,看了半天没看懂。 为了跟C#语法配合,还是选用第二个版本吧。 看了下没有在jquery里找到这方面的功能,也不知ASP.NET Ajax Library里是怎么实现这个的。 <script type="text/javascript"> //V1 method String.prototype.format = function() { var args = arguments; return this.replace(/\{(\d+)\}/g, function(m,i){ return args[i]; }); } //V2 static String.format = function() { if( arguments.length == 0 ) return null; var str = arguments[0]; for(var i=1;i<arguments.length;i++) { var re = new RegExp('\\{' + (i-1) + '\\}','gm'); str = str.replace(re, arguments[i]); } return str; } var a = "I Love {0}, and You Love {1},Where are {0}! {4}"; alert(String.format(a, "You","Me")); alert(a.format("You","Me")); </script>
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号 wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味著赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有