регулярное выражение для определения ведущих нулей и проверки длины от 0 до 12 цифр - PullRequest
1 голос
/ 05 февраля 2010

Привет, у меня есть функция javascript, которая проверяет целое число со знаком от 0 до 12, я также хочу посмотреть, есть ли лидирующие 0, например 0012, должно возвращать false.

function sInteger0to12(str) {
    str = str.replace(/^\s+|\s+$/g, '');
    return /^[-+]?\d{0,12}$/.test(str);
}

любая помощь будет оценена.

Ответы [ 4 ]

6 голосов
/ 05 февраля 2010

Я предполагаю, что следующее должно совпадать:

1
+1
-1
0
-123456789012
<empty>

И они должны потерпеть неудачу:

-
+
01
-01
1234567890123
00
+0
-0

Если вы не согласны с моими решениями выше, пожалуйста, дайте мне знать, и я постараюсь исправить регулярное выражение.

Вот регулярное выражение, которое вы можете использовать:

/^([-+]?[1-9]\d{,11}|0)?$/
1 голос
/ 05 февраля 2010

Как это:

 /^[-+]?[1-9]\d{0,11}$/

Вам нужно будет проверить '0' отдельно.

0 голосов
/ 26 сентября 2011

Это должно помочь:

/(^0$)|(^[+-]?[1-9]\d{0,11}$)/
0 голосов
/ 05 февраля 2010

Вам нужно покрыть три случая

  1. пустая строка
  2. один 0
  3. без нуля с добавлением цифры от 1 до 12

эти случаи равняются

  1. ^ $
  2. ^ 0 $
  3. ^ [+ -]? [1-9] \ d {} $ 0,11

, что в сумме составляет

^()|(0)|([+-]?[1-9]\d{0,11})$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...