如何将d-M-Y与javascript正则表达式匹配?

如何将d-M-Y与javascript正则表达式匹配?,javascript,regex,Javascript,Regex,我在PHP中的日期格式是d-M-Y,我试图用javascript正则表达式匹配日期: s.match(new RegExp(/^(\d{1,2})(\-)(\w{3})(\-)(\d{4})$/)) 与jQuery插件tablesorter一起使用。问题是它不起作用,我想知道为什么不起作用 我尝试删除date()格式(d M Y)中的破折号,并尝试ff,结果成功: s.match(new RegExp(/^\d{1,2}[ ]\w{3}[ ]\d{4}$/)); 我的问题是,如果我在PHP的

我在PHP中的日期格式是d-M-Y,我试图用javascript正则表达式匹配日期:

s.match(new RegExp(/^(\d{1,2})(\-)(\w{3})(\-)(\d{4})$/))
与jQuery插件tablesorter一起使用。问题是它不起作用,我想知道为什么不起作用

我尝试删除date()格式(d M Y)中的破折号,并尝试ff,结果成功:

s.match(new RegExp(/^\d{1,2}[ ]\w{3}[ ]\d{4}$/));

我的问题是,如果我在PHP的date()即d-m-Y上使用破折号,那么什么是正确的正则表达式?谢谢

尝试将其替换为

s.match(new RegExp("^(\\d{1,2})(\\-)(\\w{3})(\\-)(\\d{4})$"));


我通常在匹配日期时比较宽容,所以我会这样做:

s.match( /^\s*(\d{1,2})\W+(\w{3})\W+(\d{4})\s*$/ )

(允许前导和尾随空格以及任何非字母数字字符分隔符)

正如您所知,您不需要创建
RegExp
对象。您可以使用
s.match(/pattern/)
。我没有时间帮你解决这个问题,但我突然想到了这一点!您是在尝试构造一个Javascript日期对象,还是只是将PHP字符串拆分为日期、月份和年份?我正在尝试将PHP字符串拆分为日期、月份和年份
s.match( /^\s*(\d{1,2})\W+(\w{3})\W+(\d{4})\s*$/ )