javascript能不能格式化数字的显示:数字1显示为01

cnhuai 2009-06-01 03:57:50
举例:int month;
month=1 显示的是01
month=2 显示的是02
month=3 显示的是03
......

for(var i=1;i<=30;i++)
{
day+='<OPTION value="'+year+'-'+month+'-'+i+'">'+year+'年'+month+'月'+i+'日</OPTION>';
}


即2008年1月1日显示的格式为 2008-01-01
...全文
1667 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
esena 2009-06-01
  • 打赏
  • 举报
回复
不好意思,喉喉,没测试,给个测试通过的:
function format(i){
return ('00'+i).slice(-2);
}
esena 2009-06-01
  • 打赏
  • 举报
回复
不好意思,喉喉,没测试,给个测试通过的:
function format(i){
return ('00'+i).slice(-2);
}
los1215 2009-06-01
  • 打赏
  • 举报
回复
<script>
var d = 1
alert(d.toString().replace(/^(\d)$/, "0$1"))
</script>
esena 2009-06-01
  • 打赏
  • 举报
回复
不好意思,喉喉,没测试,给个测试通过的:
function format(i){
return ('00'+i).slice(-2);
}
jack420124 2009-06-01
  • 打赏
  • 举报
回复
function zeroStart(i)
{
var t = '00'+i;
return t.slice(t.length-2,t.length);
}
zhoujingxian 2009-06-01
  • 打赏
  • 举报
回复
手动构造
hsbhljl 2009-06-01
  • 打赏
  • 举报
回复

for(var i=1;i<=30;i++)
{
day+='<OPTION value="'+year+'-'+month+'-'+i+'">'+year+'年';
if(month<10)
day+='0';
day+=month;
day+='月';
if(i<10)
day+='0';
day+=i;
day+='日;</OPTION>';
}

这样行不行?
rosemerry 2009-06-01
  • 打赏
  • 举报
回复
按这个题目就是希望如果月份长度为1时,就在1前面加0否则不变.所以在JS的处理时先判断一下month.toString()的长度,然后按二楼的方式进行就可以了.楼上的方式比较复杂,我们自己做得格式化较简单些.
//28、增加Date属性,随意格式化日期型例(new Date()).format("yyyy-MM-dd hh:mm:ss")
Date.prototype.format = function(format) {
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) {
format=format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("("+ k +")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
}
}
return format;
}
郭大侠_ 2009-06-01
  • 打赏
  • 举报
回复
不过以上的都不怎么好,还是看这个帖子的2楼回复
http://topic.csdn.net/t/20061227/15/5259784.html
cnhuai 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 esena 的回复:]
function format(i){
return ('00'+i).slice(2);
}
当然你还可以做一些数字类型转化等操作
[/Quote]

这个不行
郭大侠_ 2009-06-01
  • 打赏
  • 举报
回复

function test()
{
var m="1";
var s="0"+m;
var r=s.substring(parseInt(s.length-2));
alert(r);

}
esena 2009-06-01
  • 打赏
  • 举报
回复
function format(i){
return ('00'+i).slice(2);
}
当然你还可以做一些数字类型转化等操作
Atai-Lu 2009-06-01
  • 打赏
  • 举报
回复
function checkNum(val){
if(val.length<2){
val = "0" + val.toString();
}
return val.toString();
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧