Error in using validator`s for string validation.
Hi ,
I created a validator using the regular expression which should allow either
00000000 or 00000000-00 as below
(([0-9]{8})|([0-9]{8}-[0-9]{2});?)+
when test using the test filed it is working fine but the real thing is not working as expected , i mean the attribute which is using this validator is allowing only the 00000000 as the correct value.
Could some please help me in understanding this issue?
Thanks
Surender
One answer
I don't have an explanation as to why, but reversing your expression works for me:
(([0-9]{8}-[0-9]{2}|[0-9]{8});?)+
(([0-9]{8}-[0-9]{2}|[0-9]{8});?)+
Comments
Thanks Brain for your help.
I have one more requirement
i.e., My regular expression should allow the following pattern
00000000 or 00000000-00 seperated by ;
the expression working very fine for the pattern but it is accepting even without the special character.
(([0-9]{8}-[0-9]{2}|[0-9]{8});?)+
How can I force to have the special character between two formats?
Thanks
Surender
RegEx questions probably don't belong in this forum and you may get better responses somewhere like stackoverflow. In any case, this
^([0-9]{8}-[0-9]{2}|[0-9]{8})(;([0-9]{8}-[0-9]{2}|[0-9]{8}))*
works for me. No guarantees that there aren't more efficient ways to accomplish the same thing.
could you please help me in case i want the validation should be MMM-YYYY format. what should be the regular expression?