关于一个使用正则表达式匹配来写的显示时间的方法

Date.prototype.format=function(format)


Unknown macro: { var o={ "M+"}
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;


}


注解


RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串


像this.getFullYear()+""此类  如此写是为了把数据转换字符串。字符串才有长度概念,substr方法才能起做用。


"00"+o[k]如些写是为了当匹配时,时间为当个m时,能够实现 01 02 03 这样前面加0。


test方法是在正则里如果有取到匹配的值是,他的返回值 为true;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值