Попытка проверить ввод текста на время - PullRequest
3 голосов
/ 01 ноября 2011

Я должен сделать этот обзор вопросов, и пользователь должен иметь возможность вставить время. Для этого я сделал 2 текстовых поля, 1 для ввода часов и 1 для ввода минут.

Теперь я хочу проверить, не слишком ли высокие значения, чтобы быть правильными.

Пример:
Значение часа не может быть больше 23, а значение минуты не должно превышать 59.

Как лучше всего это проверить?
Я думал о заявлениях if, но, может быть, есть более эффективный способ сделать это?
Может быть, регулярные выражения, хотя я не знаю правильный синтаксис для этого вопроса.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Если это должно быть регулярное выражение:

^(?:2[0-3]|[01]?[0-9])$

подтвердит час и

^[0-5]?[0-9]$

подтвердит минуту.

Пояснение к регулярному выражению "Часы": (вы можете легко определить минуты самостоятельно):

^        # Match start of string
(?:      # Match either...
 2[0-3]  # 2, followed by 0, 1, 2 or 3,
|        # or... 
 [01]?   # 0 or 1 (optional; the empty string is OK, too), followed by
 [0-9]   # any digit
)        # End of group
$        # Match end of string
0 голосов
/ 01 ноября 2011

Если заявления, безусловно, путь. Нет смысла использовать регулярные выражения для чего-то такого простого ... это все равно, что использовать кувалду, чтобы вколоть маленький гвоздь в стену. Если операторы также очень эффективны и легко читаются ... нет причин использовать регулярные выражения для того, что вы делаете.

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