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(eg 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.
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
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
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.