JavaScript:通过字符串掩码解析日期字符串
假设我有混合数据的字符串数组,例如 [Sam,2019-01,美国,2019-03,商业,无论如何,10.000…] 我必须提取日期[2019-01、2019-03…] 有没有通用的方法可以使用0000-00掩码的正则表达式 根据源数据,掩码可能为0000-00、0000 2019、0000-00-00 2015-03-25,甚至ABC 00 0000 2015年3月25日JavaScript:通过字符串掩码解析日期字符串,javascript,arrays,regex,string,date,Javascript,Arrays,Regex,String,Date,假设我有混合数据的字符串数组,例如 [Sam,2019-01,美国,2019-03,商业,无论如何,10.000…] 我必须提取日期[2019-01、2019-03…] 有没有通用的方法可以使用0000-00掩码的正则表达式 根据源数据,掩码可能为0000-00、0000 2019、0000-00-00 2015-03-25,甚至ABC 00 0000 2015年3月25日 提前感谢。您只需检查是否成功将其解析为最新对象: 常数测试=[ '02-20-2020', “2017年3月3日”, “
提前感谢。您只需检查是否成功将其解析为最新对象: 常数测试=[ '02-20-2020', “2017年3月3日”, “39 op”, “2000年2月5日”, '000-00-00', '2019-03' ]; 函数isDatestr{ return!!new Datestr.getTime } tests.forEacht=>console.logisDatet;
//输出:真,真,假,真,假,真前面的答案很优雅,但实际上我在寻找这个:
//2019-01 mask
var re = new RegExp(/[0-9]{4}\-[0-9]{2}/g, "i");
var str = "2019-01";
console.log(re.test(str)); //returns true
//Wed, 25 Sep 11
var re = new RegExp(/[A-Za-z]{3}\,\ [0-9]{2}\ [A-Za-z]{3}\ [0-9]{2}/g, "i");
var str = "Wed, 25 Sep 11";
console.log(re.test(str)); //returns true
甚至?请写下实际情况,不要留下未提及的可能相关的细节。再一次,我有一个字符串数组,具有不同的数据名称、日期、类别等。我必须使用筛选器查找其中的所有日期。比方说,这个数组包含2019-01格式的日期。所以我要做的是让[2019-01,2019-03]有点工作,但对于我的任务来说,令人惊讶的是很棒。干杯。这是非常不可靠的,有各种各样的字符串被一些实现识别为日期,而不是其他的,还有大量的有效时间戳没有被任何实现识别为日期。虽然我一次只需要一个掩码,并且它必须在控制之下,但这个解决方案要好得多。此外,这个面具可以是任何东西,不仅仅是约会。
//2019-01 mask
var re = new RegExp(/[0-9]{4}\-[0-9]{2}/g, "i");
var str = "2019-01";
console.log(re.test(str)); //returns true
//Wed, 25 Sep 11
var re = new RegExp(/[A-Za-z]{3}\,\ [0-9]{2}\ [A-Za-z]{3}\ [0-9]{2}/g, "i");
var str = "Wed, 25 Sep 11";
console.log(re.test(str)); //returns true