Функция Javascript для проверки времени 00:00 с помощью регулярного выражения - PullRequest
6 голосов
/ 12 января 2010

Я пытаюсь создать функцию javascript с регулярным выражением для проверки и форматирования времени 24 часа, принимая время без точки с запятой и удаляя пробелы.
Примеры:
Если пользователь введет "0100", " 100" или "100 ", он будет принят, но отформатирован в "01:00"
Если пользователь введет "01:00", он будет принят без необходимости форматирования.

Спасибо.

1 Ответ

21 голосов
/ 12 января 2010

function formatTime(time) {
    var result = false, m;
    var re = /^\s*([01]?\d|2[0-3]):?([0-5]\d)\s*$/;
    if ((m = time.match(re))) {
        result = (m[1].length === 2 ? "" : "0") + m[1] + ":" + m[2];
    }
    return result;
}
alert(formatTime(" 1:00"));
alert(formatTime("1:00 "));
alert(formatTime("1:00"));
alert(formatTime("2100"));
alert(formatTime("90:00")); // false

Любой вызов с неверным форматом ввода вернет false.

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