时间文本识别正则表达式

做文本分析项目的时候需要把各种时间字符串格式化为标准的时间字符yyyy-MM-ddHH:mm:ss

例如:2014年5月8日,2014年5月8日11时,2014/5/8/等等格式化为标准的2014-5-811:11:11

下面是我写的js方法:

alert(formatDate('2014年8月1日15:10'));

functionformatDate(text){

vardateText='';

vartimeText='';

varregexpDate=/[年月日\/-]/g;

varregexpTime=/[时分秒::.]/g;

varregexp1=/^\d{1,4}-\d{1,2}-\d{1,2}/;

varregexp2=/\d{1,2}:\d{1,2}:\d{1,2}$|\d{1,2}:\d{1,2}$|\d{1,2}$/;

varreplacementDate='-';

varreplacementTime=':';

if(text==undefined||text==null||text==''){

return'';

}

text=text.replace(regexpDate,replacementDate);

text=text.replace(regexpTime,replacementTime);

text=text.replace(/\D$/,'');

dateText=text.match(regexp1);

timeText=text.match(regexp2);

returndateText+''+timeText;

}

欢迎大家交流,如果有更好的改进,请留言告诉我!

相关推荐