js 格式化字符串
2011-07-20 18:43 ☆冷枫☆ 阅读(11907) 评论(0) 编辑 收藏 举报.NET中格式字符串有个String.Format()函数,想格式化一个字符串用起来比较方便,但是我们想在前端交互的时候就可以像这样格式化可不可以呢,当然可以的是吧。不然不可以也不用写这篇文章了:)
是的,我们可以考虑用正则来实现,提到正则大家应该都有思路了吧。哼哼,你的确很聪明。其实实现原理就是利用正则查找匹配js替换。
好了,看下代码吧:
/** 格式化输入字符串**/
//用法: "hello{0}".format('world');返回'hello world'
String.prototype.format= function(){
var args = arguments;
return this.replace(/\{(\d+)\}/g,function(s,i){
return args[i];
});
}
//用法: "hello{0}".format('world');返回'hello world'
String.prototype.format= function(){
var args = arguments;
return this.replace(/\{(\d+)\}/g,function(s,i){
return args[i];
});
}
在页面中直接调用方法即可实现格式化了:
var str = "hello{0}{1}".format('world','haha');
alert(str);
alert(str);
运行页面弹出"hello world haha";
值得说明的地方是“arguments” 能够自动捕获函数的参数,例arguments[0] 对应"hello",arguments[1] 对应"world".
励志博客园--优秀的阅读、励志、交流学习平台。您的网上心灵家园!