How to use OR condition in regular expression

Hi,
How to use OR condition in regular expression

my req is
YYYY/MM/DD format if the user enter  YYYY/M/DD also i want to accept ?
eg:
YYYY/MM/DD---- 2010/08/19
YYYY/M/DD  ---- 2010/8/19
in regular expression i worte YYYY/MM/DD
YYYY/MM/DD ---- /^\d{4}\/\(d){2}\/\d{2}$/
but i dont know how to but or condition ??

How can i do that ??
LVL 20
Sathish David  Kumar NArchitectAsked:
Who is Participating?
 
CEHJConnect With a Mentor Commented:
The accepted answer will of course allow

2010/13/01

If you want js, try


String RE = /\d{4}\/([1-9]|1[12]|0[1-9])\/\d{2}/;

Open in new window

0
 
CEHJCommented:
You'd probably be better off using two DateFormat
0
 
Sathish David Kumar NArchitectAuthor Commented:
is not pssoble do in that single expression ??
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
HegemonCommented:
\d?\d

for the M or MM part
0
 
Michel PlungjanConnect With a Mentor IT ExpertCommented:
/^\d{4}\/\d{1,2}\/\d{2}$/
0
 
CEHJCommented:
The following is strict for months - you could take the same line for days
String RE = "\\d{4}/(?:[1-9]|1[12]|0[1-9])/\\d{2}";

Open in new window

0
 
Michel PlungjanIT ExpertCommented:
And why not points to me? It is a valid answer to your question :)
0
 
Sathish David Kumar NArchitectAuthor Commented:
@mplungjan  
2010/13/01

if i give 13 for month it will accept  for your sloution so its wrong right ?

Thanks
@CEHJ
I didnt think in that way  , Thanks
0
 
Michel PlungjanIT ExpertCommented:
True :)

You will need to validate the dates ANYWAY

Since CEHJ's code will allow 29/02/2011
and 08 and 09 are invalid octal and so on
0
 
HegemonCommented:
Yet another example of unclear question and points assigned in no relation to original question.

The question was about how to enter either one or two digits. No validation mentioned, no language specified and the question posted in two zones - Java Programming Language and JavaScript. In my view, in the context of this question the zones are mutually exclusive as the asker needs to solve the problem in either of the two languages but not both.

I assumed it was Java and my answer is correct for Java.

0
 
CEHJCommented:
Yes, i'm not saying for one minute that mine will prevent invalid dates - i was just focusing on the month
0
 
Sathish David Kumar NArchitectAuthor Commented:
@Hegemon:
>>> The question was about how to enter either one or two digits. No validation mentioned
Thanks for time and answer .
I clearly mention that its YYYY/MM/DD , so iam taking about year,date ,month so
no need for validation rule bcz all are know month should 1 to 12 only .
i think your tech guy ....  thanks again
 
0
 
Michel PlungjanIT ExpertCommented:
You do know that
30/02/
31/02/
 and outside leapyears 29/02/2011
and
31/4, 31/6. 31/9 and 31/11 are invalid too?

PS: Hegemon I think a LOT of regexps will work in JS and JAVA both

0
 
HegemonCommented:
-  Hegemon I think a LOT of regexps will work in JS and JAVA both

I thought this too but dravidnsr said mine did not work at all (although I tested it in Java) and the first CEHJ's solution did not work in JS, so there are probably differences.
0
All Courses

From novice to tech pro — start learning today.