Javascript RegExpression

时间:2012-02-08 16:21:14

标签: javascript regex

我正在寻找一个接受日期格式的正则表达式,MM / DD / YYYY和M / D / YYYY

我找到一个here

然而,当我跑步时,我得到一个意外的非法令牌。以下是我实现javascript函数的方法

return RegExp(/^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$/).test(txtDate);

我被告知http://regexlib.com网站通常适用于.net正则表达式,但不适用于javascript。

任何帮助都会很棒!

4 个答案:

答案 0 :(得分:1)

逃避正则表达式中的斜杠。

/^(((0?[1-9]|1[012])\/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])\/(29|30)|(0?[13578]|1[02])\/31)\/(19|[2-9]\d)\d{2}|0?2\/29\/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$/
             here __^                                         __^                        __^ ___^                   ___^___^

答案 1 :(得分:0)

对于MM / DD / YY /^(\d{1,2})[./-](\d{1,2})[./-](\d{4})$/

代表M / D / Y /^(\d{1,2})[./-](\d{1,2})[./-](\d{2}|\d{4})$/

答案 2 :(得分:0)

来自Regex Cookbook的食谱4.4完成了您正在寻找的大部分内容:

^(1[0-2]|0?[1-9])/(3[01]|[12][0-9]|0?[1-9])/(?:[0-9]{2})?[0-9]{2}$

答案 3 :(得分:0)

看看这个:

http://jsfiddle.net/oscarj24/32JQr/

希望这会有所帮助