您好,欢迎访问一九零五行业门户网

javascript模拟C#格式化字符串_javascript技巧

js 模拟c# 字符串格式化操作
/***** 功能: 字符串格式化替换操作***/string.prototype.format = function () { var args = arguments; return this.replace(/\{(\d+)\}/g, function (m, i) { return args[i]; });}
js实现类似c#中的字符串处理函数format():
熟悉c#的应该知道有format()这么一个方法,下面就来模仿一下,在javascript中也实现此功能。
代码实例如下:
string.prototype.format=function(args){ if(arguments.length>0){ var result=this; if(arguments.length==1&&typeof(args)==object){ for(var key in args){ var reg=new regexp(({+key+}),g); result=result.replace(reg, args[key]); } } else{ for(var i=0;i0),如果传递参数的个数大于0。
3.var result=this,将this的引用赋值给变量result。
4.if(arguments.length==1&&typeof(args)==object),用来判断传递的参数是否是一个对象直接量。
5.for(var key in args),遍历对象直接量中的属性。
6.var reg=new regexp(({+key+}),g),用来匹配指定的字符串。
7.result=result.replace(reg,args[key]),用属性值替换匹配的字符串。
8.else{},如果传递的不是一个对象直接量。
9.for(var i=0;i
10.if(arguments==undefined),如果为undefined,就返回空字符串。
11.var reg=new regexp(({[+i+]}),g),用来匹配指定的字符串。
12.result=result.replace(reg,arguments),进行替换。
13.return result,返回替换后的字符串。
14.return this,如果没有传递参数,则返回字符串本身。
其它类似信息

推荐信息