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

大憨熊 提交于 2021-01-29 08:30:36

问题


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


回答1:


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




回答2:


Welcome!

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

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




回答3:


Check this Regex too.

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

https://regexr.com/452l2




回答4:


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




回答5:


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


来源:https://stackoverflow.com/questions/53813697/javascript-regex-to-allow-only-2-digit-numbers-and-3-digit-numbers-as-comma-sepa

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!