Javascript Regex позволяет использовать только 2-значные и 3-значные числа через запятую - PullRequest
0 голосов
/ 17 декабря 2018

Я хочу использовать Regex для Javascript для проверки ниже:

Текстовое поле должно содержать только 2-значные и 3-значные числа через запятую.Пример: 12,123,56,567,789,11

Ответы [ 5 ]

0 голосов
/ 17 декабря 2018

Это регулярное выражение будет соответствовать всем вашим случаям: ^(?:\d{2,3},)+(\d{2,3}),?$|^\d{2,3}$

https://regex101.com/r/CdYVi9/2

Пример JS:

const isValid = str => /^(?:\d{2,3},)+(\d{2,3}),?$|^\d{2,3}$/.test(str);
0 голосов
/ 17 декабря 2018
^               # 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

Если вам не нужны числа, начинающиеся с 0, например 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

0 голосов
/ 17 декабря 2018

Добро пожаловать!

Попробуйте использовать это регулярное выражение вместо /([0-9]{2,3}),?/gi

Это будет захватывать любые 2 или 3-значные числа без дополнительного разделителя ,.

0 голосов
/ 17 декабря 2018

Отметьте и это регулярное выражение.

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

https://regexr.com/452l2

0 голосов
/ 17 декабря 2018

Привет, добро пожаловать в Stackoverflow,

попробуйте это

  • ([0-9]{1,3},)* - последние две или три цифры должны быть без запятая

  • (\d{1,3},)*$ - последние две или три цифры должны иметь запятую

  • (\d{2,3}),? - охватывает оба случая - последние две цифры имеют запятую или нет

Вы можете проверить регулярные выражения онлайн на этом сайте - убедитесь, что выбран JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...