js 中有没有替换String.format("%05d",“”)的方法吗??~跪求~~急等!! 本帖最后由 fengziba 于 2009-12-24 14:57:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以前收藏的,正好给你<script type="text/javascript">//V1 methodString.prototype.format = function(){ var args = arguments; return this.replace(/\{(\d+)\}/g, function(m,i){ return args[i]; });} //V2 staticString.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> <script language="javascript">function string_format(str){ if(str.length < 5){ var k = 5 - str.length; for(var i = 0 ; i < k ; i++){ str = "0" + str; } } return str;}alert(string_format("2"));</script> var formats = { '%': function(val) { return '%'; }, 'b': function(val) { return parseInt(val, 10).toString(2); }, 'c': function(val) { return String.fromCharCode(parseInt(val, 10)); }, 'd': function(val) { return parseInt(val, 10) ? parseInt(val, 10) : 0; }, 'u': function(val) { return Math.abs(val); }, 'f': function(val, p) { return (p > -1) ? Math.round(parseFloat(val) * Math.pow(10, p)) / Math.pow(10, p) : parseFloat(val); }, 'o': function(val) { return parseInt(val, 10).toString(8); }, 's': function(val) { return val; }, 'S': function(val, p) { var len = p - val.toString().length; for (i = 0; i < len; i++) val = '0' + val; return val; }, 'x': function(val) { return ('' + parseInt(val, 10).toString(16)).toLowerCase(); }, 'X': function(val) { return ('' + parseInt(val, 10).toString(16)).toUpperCase(); } }; var re = /%(?:(\d+)?(?:\.(\d+))?|\(([^)]+)\))([%bcdufosSxX])/g; var dispatch = function(data) { if (data.length == 1 && typeof data[0] == 'object') { data = data[0]; return function(match, w, p, lbl, fmt, off, str) { return formats[fmt](data[lbl]); }; } else { var idx = 0; return function(match, w, p, lbl, fmt, off, str) { return formats[fmt](data[idx++], p); }; } }; String.prototype.sprintf = function() { //var argv = Array.apply(null, arguments); return this.replace(re, dispatch(arguments)); } String.prototype.vsprintf = function(data) { return this.replace(re, dispatch(data)); } //sprintf var classixxc = '%.5S'.sprintf(10); alert(classixxc) //classic = '00010' var classic = '%s %d% %.3f'.sprintf('string', 40, 3.141593); alert(classic) // classic = 'string 40% 3.142' var named = '%(name)s: %(value)d'.sprintf({ name: 'age', value: 40 }); alert(named) //named = 'age: 40' //vsprintf var classisc = '%s %d% %.3f'.vsprintf(['string', 40, 3.141593]); alert(classisc) // classisc = 'string 40% 3.142' js操作form来隐藏div(第2个form失效) 大家帮忙看下Extjs的问题 var objNet = new ActiveXObject("WScript.Network") 这个语法需要修改IE什么安全设定才能运行 假如我有个字符串是 var s="DD";如何将它转换为10进制数 还是alert的问题 请问如何在iframe中监听键盘按下哪个键 一个去掉“查看”菜单->“源程序”的例子 Netscape 的烦恼!!! js用addEventListener添加点击问题 用JS调用exe程序,根据注册表中读取的内容,我该怎么写 onmousemove的问题 ajax在ie下的问题
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>
<script language="javascript">
function string_format(str){
if(str.length < 5){
var k = 5 - str.length;
for(var i = 0 ; i < k ; i++){
str = "0" + str;
}
}
return str;
}
alert(string_format("2"));
</script>
var formats = {
'%': function(val) { return '%'; },
'b': function(val) { return parseInt(val, 10).toString(2); },
'c': function(val) { return String.fromCharCode(parseInt(val, 10)); },
'd': function(val) { return parseInt(val, 10) ? parseInt(val, 10) : 0; },
'u': function(val) { return Math.abs(val); },
'f': function(val, p) { return (p > -1) ? Math.round(parseFloat(val) * Math.pow(10, p)) / Math.pow(10, p) : parseFloat(val); },
'o': function(val) { return parseInt(val, 10).toString(8); },
's': function(val) { return val; },
'S': function(val, p) { var len = p - val.toString().length; for (i = 0; i < len; i++) val = '0' + val; return val; },
'x': function(val) { return ('' + parseInt(val, 10).toString(16)).toLowerCase(); },
'X': function(val) { return ('' + parseInt(val, 10).toString(16)).toUpperCase(); }
}; var re = /%(?:(\d+)?(?:\.(\d+))?|\(([^)]+)\))([%bcdufosSxX])/g; var dispatch = function(data) {
if (data.length == 1 && typeof data[0] == 'object') {
data = data[0];
return function(match, w, p, lbl, fmt, off, str) {
return formats[fmt](data[lbl]);
};
} else {
var idx = 0;
return function(match, w, p, lbl, fmt, off, str) {
return formats[fmt](data[idx++], p);
};
}
}; String.prototype.sprintf = function() {
//var argv = Array.apply(null, arguments);
return this.replace(re, dispatch(arguments));
}
String.prototype.vsprintf = function(data) {
return this.replace(re, dispatch(data));
} //sprintf
var classixxc = '%.5S'.sprintf(10);
alert(classixxc)
//classic = '00010'
var classic = '%s %d% %.3f'.sprintf('string', 40, 3.141593);
alert(classic)
// classic = 'string 40% 3.142'
var named = '%(name)s: %(value)d'.sprintf({ name: 'age', value: 40 });
alert(named)
//named = 'age: 40'
//vsprintf
var classisc = '%s %d% %.3f'.vsprintf(['string', 40, 3.141593]);
alert(classisc)
// classisc = 'string 40% 3.142'