Как я могу проверить диапазон 1-99 с помощью регулярных выражений? - PullRequest
17 голосов
/ 25 октября 2010

Мне нужно подтвердить ввод пользователя, чтобы убедиться, что введенный номер находится в диапазоне от 1 до 99 включительно. Это должны быть целые (целые) значения

Допускается до 0, но необязательно

Допустимые значения

  1. 1
  2. 01
  3. 10
  4. 99
  5. 09

Неверные значения

  1. 0
  2. 007
  3. 100
  4. 10,5
  5. 010

Пока у меня есть следующее регулярное выражение, которое я разработал: ^0?([1-9][0-9])$

Это допускает необязательный 0 в начале, но не на 100% правильно, так как 1 не считается действительным

Есть ли улучшения / предложения?

Ответы [ 11 ]

0 голосов
/ 25 октября 2010
String d = "11"

if (d.length() <= 2 && d.length() >=1) {
    try {
        Integer i = Integer.valueOf(d);
        return i <= 99 && i >= 0
    }
    catch (NumberFormatException e) {
        return false;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...