简体   繁体   中英

Javascript Regex to allow only 2 digit numbers and 3 digit numbers as comma separated

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

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

Welcome!

Try this regular expression instead /([0-9]{2,3}),?/gi

This will capture any 2 or 3 digit numbers, without the optional , separator.

Check this Regex too.

[0-9]{2,3}[,]{0,1}

https://regexr.com/452l2

^               # 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

DEMO

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);

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM