| 订阅 | 在线投稿
分享
 
 
 

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- 王朝网络 版权所有