如何使用JavaScript从字符串中提取日期?它可以采用以下格式:
31.07.2014
07.31.2014
2014.07.31相同的格式但以空格或/或分隔- 31 07 2014 31/07/2014 31-07-2014
字符串可以包含其他字符
Teen.Wolf.S04E06.Orphaned.28.07.2014.HDTV
如何从这些类型名称中提取日期。
我想先提取所有的数字,然后比较它是否大于12,以确保它是月份或日期。我不太了解regEx(正则表达式),所以如果使用它,请解释一下,谢谢
6条答案
按热度按时间r1wp621o1#
可能使用正则表达式,如
你可以拉出正则表达式的第一部分并检查它,它与第二部分相同,除了4位和2位被交换了
wko9yo5t2#
也许这可以帮助你(Demo Fiddle here):
yqyhoc1h3#
RegEX将帮助您提取具有不同类型格式的日期,并以数组形式返回,
Reference Link From regextester
svdrlsy44#
我认为你可以使用正则表达式来实现这一点。您需要的三个主要表达式如下:
您可以合并这些以适应您提到的格式,例如,匹配“31.07.2014”:
或“2014年7月31日”:
您可以决定需要哪些格式,并创建一个正则表达式,用OR运算符分隔格式|.
cgvd09ve5#
这里会写“2014年7月28日”
注意:只有当字符串的格式与你上面发布的格式相似时才使用这种方式。
rjjhvcjd6#
我有一个类似的用例,我使用并改变了@lpg的答案以满足我的需要。我需要解析发票日期,将有各种日期格式。我包含了一个解析月份名称的选项。由于我住在比利时,大多数日期的格式是dd-mm-yyyy或dd-mmmm-yyyy,所以我认为日期很可能具有这种格式。很容易将正则表达式中的一部分交换为交换月份和天数。代码注解中包含了一些解释。
翻译月份名称也很容易。注意:在荷兰语中,我们不使用“2023年5月3日”的格式,所以我没有包括这一点。
最后我用了这个: