gpt4 book ai didi

javascript Regex 日期早于 1970 年 1 月 1 日

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:49 25 4
gpt4 key购买 nike

我有这个注册。表达

value.match(/^\/Date\(\d*[\+\-]?\d*\)\/$/))

我用来查找像这个例子一样的日期

/Date(2208988800000+0100)/ 

由于我无法理解当我有一个负值毫秒的日期(1970 年 1 月 1 日之前)时,正则表达式不起作用。

 /Date(-2208988800000+0100)/ 

有什么建议吗?

最佳答案

问题是您的正则表达式不允许在数字上使用减号(1970 年之前的日期具有负时间值,因为时间值是从 1970 年 1 月 1 日午夜开始的以毫秒为单位的偏移量)。需要在开头加上-?:

value.match(/^\/Date\(-?\d*[\+\-]?\d*\)\/$/))
// Here --------------^^

var value = "/Date(-2208988800000+0100)/";
console.log(value.match(/^\/Date\(-?\d*[\+\-]?\d*\)\/$/));


旁注:我认为您的两个 \d* 都想成为 \d+。您希望 +/- 两侧至少有一个数字分隔时区偏移...

旁注 2:在 [\+\-] 中,实际上不需要反斜杠。 +[] 中并不特殊,而 - 只有在 [] 中不特殊时才特殊开始或结束。

关于javascript Regex 日期早于 1970 年 1 月 1 日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50333751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com