Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 695
  • Last Modified:

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 ??
0
Sathish David  Kumar N
Asked:
Sathish David  Kumar N
  • 4
  • 4
  • 3
  • +1
2 Solutions
 
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
 
HegemonCommented:
\d?\d

for the M or MM part
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
Michel PlungjanIT 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
 
CEHJCommented:
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
 
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 4
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now