读书人

JavaScript怎么实现查找字符串内的所有

发布时间: 2012-03-06 20:47:55 作者: rapoo

JavaScript如何实现查找字符串内的所有时间替换为人性化的时间显示方式?
目的在于把一段字符串,如“…………发表于2010-04-26 12:00:00…………发表于2010-04-27 13:30:05……”替换成类似于“…………发表于1天前…………发表于1小时前…………”这样的人性化显示方式。请问如何实现?
最好是用正则表达式,如果不行用其他方式也是可以的。
如果题目有没解释清的地方可以再提问。。先谢谢各位。

[解决办法]
哪用得着正则表达式???、
使用现在的实际时间减去发表时间,不就得了。
[解决办法]

JScript code
<script>var str="………… 2010-04-26 12:00:00………… 2010-04-27 12:30:05……";var arr= str.match(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g);str=str.replace(/(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/g,    function($1){        var d=new Date($1.replace(/[-]/g,"/"));        var day=parseInt((new Date()-d)/(1000*60*60*24));        var hour=parseInt((new Date()-d)/(1000*60*60));        if(day>0)return day+"days before";        return hour+"hours before";    });alert(str);</script>
[解决办法]
var s=“…………发表于2010-04-26 12:00:00…………发表于2010-04-27 13:30:05……”;
s.replace(/\d{4}-\d{2}-\d{2}\s*\d{2}:\d{2}:\d{2}/mg, function(dateAndTime) {
// 在这里进行时间差计算 返回比如:1天前
 return( "1天前" );
});
[解决办法]
这样的功能在服务器端处理比较好
[解决办法]

<span id="time01">发表于2010-04-26 12:00:00</span>
<span id="time02">发表于2010-04-26 12:00:00</span>
<span id="time03">发表于2010-04-26 12:00:00</span>

比较笨的方法: 每个时间加个 标签吧

循环修改:
当前时间 - 发表时间,结果
[解决办法]
我觉得直接去当时服务器的时间就可以,不要这么麻烦
[解决办法]
发表于<span id="time01">2010-04-26 12:00:00</span>
发表于<span id="time02">2010-04-26 12:00:00</span>
发表于<span id="time03">2010-04-26 12:00:00</span>

var len = 100 ; //长度获取

for(var i=0;i<len;i++){
enddata = new Data();
截取字符串
var text = document.getElementById('time'+i).innerHTML ;
time = enddata - text ; //

document.getElementById('time'+i).innerHTML = "time " ;
}

读书人网 >JavaScript

热点推荐