[英]regular expression for date in any format in javascript?
regular expression for date in any format in javascript 日期的正则表达式,可使用javascript中的任何格式
The format includes: dd/mm/yyyy or mm/dd/yyyy or yyyy/dd/mm or dd-yy-mmmm or ddmmyyyy like so on..... 格式包括:dd / mm / yyyy或mm / dd / yyyy或yyyy / dd / mm或dd-yy-mmmm或ddmmyyyy等等。
can any one help please?? 有谁可以帮忙吗?
Reg Ex for dates with leap year consideration. Reg Ex用于考虑leap年的日期。 Wrote it for as3, but since js and as3 are both derivative of ECMAScript, it should work fine in JS too.
为as3编写了它,但是由于js和as3都是ECMAScript的派生产品,因此在JS中也应能正常工作。
Change # in the reg ex with your desired date separator. 使用所需的日期分隔符更改正则表达式中的#。 For a global separator replace # with (/|-|.)
对于全局分隔符,将#替换为(/ |-|。)。
For DD-MM-YYYY format 对于DD-MM-YYYY格式
^(?:31#(?:(?:0[13578])|(?:1[02]))#)|(?:(?:29|30)#(?:(?:0[1,3-9])|(?:1[0-2]))#)(?:(?:1[6-9]|[2-9]\d)\d{2})$|^(?:29#02#(?:(?:(?:1[6-9]|[2-9]\d)(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0[1-9])|(?:1\d)|(?:2[0-8]))#(?:(?:0[1-9])|(?:1[0-2]))#(?:(?:1[6-9]|[2-9]\d)\d{2})$
For MM-DD-YYYY format 对于MM-DD-YYYY格式
^(?:(?:(?:0?[13578]|1[02])#31)\1|(?:(?:0?[1,3-9]|1[0-2])#(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2#29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))#(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
Tests with performance. 性能测试。
29-02-2000 ---> true
millis 2
29-02-2006 ---> false
millis 0
29-02-2001 ---> false
millis 0
30-02-2000 ---> false
millis 0
31-11-2000 ---> false
millis 0
29-13-2000 ---> false
millis 0
31-11-2000 ---> false
millis 0
31-07-2000 ---> true
millis 0
31-08-2000 ---> true
millis 1
31-12-2000 ---> true
millis 0
30-11-2011 ---> true
millis 0
17-07-2011 ---> true
millis 0
04-10-1987 ---> true
millis 0
01-01-1900 ---> true
millis 0
24-05-88 ---> false
millis 0
24-05-88 ---> false
millis 0
29-12-2011 ---> true
millis 0
31-12-2000 ---> true
millis 0
1-1-2010 ---> false
millis 0
1-1-99 ---> false
millis 0
1-01-99 ---> false
millis 0
01-1-99 ---> false
millis 0
For various formats, modify date seperators reg ex and ordering. 对于各种格式,请修改日期分隔符正则表达式和顺序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.