Javascript 正则表达式不匹配字符串

Javascript 正则表达式不匹配字符串,javascript,html,regex,Javascript,Html,Regex,我正在使用regex在Javascript中进行日期验证,当使用我使用regex101验证的表达式时,我始终得到空返回值。你知道为什么这可能不起作用吗 var-date=/(\w+[\w]+(\w+[\w]*(\w+)/; var dateTest=“8-15-2003”。匹配(日期); 日志(“日期测试:+dateTest”)尝试以下表达式: var日期=/^(0[1-9]| 1[012])-(0[1-9]|[12][0-9]|[3[01])-[12][0-9]{3}$/ var dateT

我正在使用regex在Javascript中进行日期验证,当使用我使用regex101验证的表达式时,我始终得到空返回值。你知道为什么这可能不起作用吗

var-date=/(\w+[\w]+(\w+[\w]*(\w+)/;
var dateTest=“8-15-2003”。匹配(日期);
日志(“日期测试:+dateTest”)尝试以下表达式:

var日期=/^(0[1-9]| 1[012])-(0[1-9]|[12][0-9]|[3[01])-[12][0-9]{3}$/

var dateTest=“08-15-2003”。匹配(日期)


日志(“日期测试:+dateTest”)

为什么要这么复杂?在您的snipplet中似乎运行良好。您在这里有一个匹配项。对于学校项目,必须将日期分解为几乎任何日期格式的3个变量。请显示从何处获得这些空返回值。第一个案例“8-15-2003”似乎运作良好。您期望的输出是什么?任何日期格式都是什么?您需要匹配的所有格式是什么?失败的例子是什么?如果你阅读了评论,显然除了提供的格式外,OP还尝试匹配不同的格式。这些是什么,我们没有任何线索,因为没有给出细节。是的。没有给出细节,但是上面的正则表达式可以简单地修改:
([\d]{1,2})[-/.]([\d]{1,2})[-/.]([\d]{4})
谢谢你的回复,但是我也需要能够捕获字母月份,所以简单地抓取数字是行不通的。@ColinSpratt,您需要向我们提供所有要匹配的日期模板,以便我们有机会帮助您。@ColinSpratt-请编辑您的问题,因为这是一个合理的答案。如果您需要正则表达式解析“任意”日期格式,请指定该格式,尽管我不希望有太多答案,因为这是一个大订单。我建议指定您知道需要支持的格式。
var date = /([\d]{1,2})-([\d]{1,2})-([\d]{4})/;
var dateTest = "8-15-2003".match(date);
console.log("Date Test: " + dateTest);