Reputation: 11
I want Regex for Javascript for below validation:
Textbox should allow only 2 digit numbers and 3 digit numbers as comma separated. Ex: 12,123,56,567,789,11
Upvotes: 0
Views: 2228
Reputation: 162
Try this regular expression instead /([0-9]{2,3}),?/gi
This will capture any 2 or 3 digit numbers, without the optional ,
separator.
Upvotes: 0
Reputation: 481
This regex will match all your cases: ^(?:\d{2,3},)+(\d{2,3}),?$|^\d{2,3}$
https://regex101.com/r/CdYVi9/2
Sample JS:
const isValid = str => /^(?:\d{2,3},)+(\d{2,3}),?$|^\d{2,3}$/.test(str);
Upvotes: 0
Reputation: 91373
^ # beginning of line
\d{2,3} # 2 or 3 digits
(?: # start non capture group
, # a comma
\d{2,3} # 2 or 3 digits
)* # end group may appear 0 or more times
$ # end of line
If you don't want numbers that start with 0
like 025
^ # beginning of line
[1-9] # digit fomr 1 to 9
\d # 1 digit
\d? # 1 optional digit
(?: # start non capture group
, # a comma
[1-9] # digit fomr 1 to 9
\d # 1 digit
\d? # 1 optional digit
)* # end group may appear 0 or more times
$ # end of line
Upvotes: 0
Reputation: 204
Hey welcome to Stackoverflow,
try this one
([0-9]{1,3},)*
- last two or three digit should be without comma
(\d{1,3},)*$
- last two or three digit should have comma
(\d{2,3}),?
- captures both case - wether last two digit have comma or not
You can test regular expressions online in this website - make sure the javascript is selected
Upvotes: 1