sprintf()用于JavaScript,其行为类似于Python';s格式(%)?

sprintf()用于JavaScript,其行为类似于Python';s格式(%)?,javascript,jquery,printf,Javascript,Jquery,Printf,我需要一个JavaScript函数(或jQuery插件)用于printf/sprintf。它需要支持命名参数(“%(foo)s”)和填充(“%02d”),即以下格式字符串应该可以工作: "%(amount)s.%(subunits)02d" 它只需要支持s和d,我不关心所有其他格式字符串(例如f,x,等等)。我不需要填充字符串/s,只需要d,我只需要简单填充d,例如%2d,%3d,%04d,等等。前面的一个问题“有一些很好的信息 另外,dive.into.javascript()有大约spri

我需要一个JavaScript函数(或jQuery插件)用于
printf
/
sprintf
。它需要支持命名参数(
“%(foo)s”
)和填充(
“%02d”
),即以下格式字符串应该可以工作:

"%(amount)s.%(subunits)02d"
它只需要支持
s
d
,我不关心所有其他格式字符串(例如
f
x
,等等)。我不需要填充字符串/
s
,只需要
d
,我只需要简单填充
d
,例如
%2d
%3d
%04d
,等等。

前面的一个问题“有一些很好的信息


另外,dive.into.javascript()有大约
sprintf()

PHPJS项目已经在javascript中实现了许多PHP功能。我无法想象他们为什么要这样做,但事实是他们已经生成了一个
sprintf()
实现,它应该能够满足您的需求(或者至少接近您的需求)

它的代码可以在这里找到:

这里有一个函数

var sprintf=函数(str){
var args=参数,
flag=true,
i=1;
str=str.replace(/%s/g,函数(){
var arg=args[i++];
如果(参数的类型=='undefined'){
flag=false;
返回“”;
}
返回arg;
});
返回标志?str:“”;
};
$(文档).ready(函数(){
var msg=‘部门’;
$('#txt').html(sprintf(%s'中的团队合作,msg));
});