Reputation: 21465
I have to check if a string has this pattern: 1,2,10,11
.
The rules are:
1
or 1,2
or 1,2,n+1
. Many numbers user wants;1,
;What I have tried is:
(\d{1,2})(,)
: This code checks for a 1,
sentence and returns true
no metters what is on the rest of the string, like 1,afasfs
;(\d{1,2})(?=(,))
but it accepts the above case too;^
and $
because it fails on right scenarios like: 1,2,3
.What I don't know is how to test the entire string. All my tests only checks a part of it(e.g 1,
) not the entire string.
Note: I'm using JavaScript test()
function. Don't know if is the right one, but I believe that it is.
Upvotes: 1
Views: 3436
Reputation: 7948
per OP
The number must be followed by a comma
so a little modification to anubhava's pattern/^(\d{1,2},)+\d{1,2}$/
otherwise it will validate single or double digits only like 1
or 10
Upvotes: 1
Reputation: 785146
You can try this regex:
/^(\d{1,2},)*\d{1,2}$/
^ - Line start
\d{1,2} - 1 or 2 digit number
\d{1,2}, - 1 or 2 digit number followed by a comma
(\d{1,2},)* - 0 or more of 1/2 digit number followed by a comma character
\d{1,2} - 1 or 2 digit number
$ - Line end
Upvotes: 6