我正在构建一个从 RSS 提要获取 JS 对象输入的日历。这个 RSS 提要是从我公司内部使用的 CMS 自动生成的。我无法更改 CMS 方面的任何内容,也无法更改返回的 RSS 提要。我只能访问从该提要构建的对象。
RSS 提要将开始日期、结束日期、时间和标题都连接在一个字符串中。我需要将它们分成对象中的键,以便我的日历可以显示它们。
我遇到的问题是 RSS 提要根据事件在 CMS 中的设置方式不同地格式化字符串。例如:
"7/15/2013 8:00 PM - 9:00 PM Blah" //Date, Time, Title
"7/12/2013 Blue" //Date for all day event, Title
"7/6/2013 8:00 AM - 7/23/2013 9:00 AM Banana" //Long event - Start Date, Start Time, End Date, End Time, Title
正如你所看到的,这些有多么不同,我很难决定如何将这些解析到我的对象中。该对象应如下所示:
{
title: 'Banana',
start: new Date(2013, 7, 24, 10, 30),
end: new Date(2013, 7, 24, 11, 30),
allDay: false
}
我的问题归结为:解决这个问题的最佳方法是什么?使用正则表达式,尝试手动解析它.indexOf("/")
,为每一个构建测试用例,或其他一些建议。
PS:一个 jQuery 示例也是一个可以接受的答案。