删除日期字符串中的空格

时间:2016-02-18 00:44:05

标签: javascript jquery

我从数据库中获取有时候有空格的日期(由于我没有控制权,因此没有办法清理数据库)。我需要删除空格,以便我可以将其格式化为Javascrpt日期。

例如:

5 : 03 PM 

如您所见,这是不正确的。我已经看过Moment.js和Regex来移除冒号周围的空间,但不确定它是如何完成的,或者这是否正确。有没有办法删除这个空间?

全部谢谢!

3 个答案:

答案 0 :(得分:6)

仅删除冒号周围的空格,请尝试以下操作: (其中$1指的是第一个捕获组,即唯一的(:)

a.replace(/\s*(:)\s*/, "$1");

或者如果您希望进一步简化它,没有任何捕获组;

a.replace(/\s*:\s*/, ":");

答案 1 :(得分:4)

如果你愿意,你可以用Moment.js实际解析那个日期字符串,你只需要在格式化字符串中包含这些空格:

var time = moment('5 : 03 PM', 'h : m A');

然后你可以随意格式化它:

time.format('h:mmA'); // "5:30PM"
time.format('hh:mm A'); // "05:03 PM"
time.format('HH:mm'); // "17:03" 

答案 2 :(得分:1)

为了完整,你可以使用regexp:

'5  :  03pm'.split(':')
  .map(function(part) { return part.trim(); })
  .join(':');