2010-01-12 111 views
6

我想創建一個JavaScript函數與正則表達式來驗證和格式化時間24小時,接受沒有分號和刪除空格的時間。
例子:
如果用戶鍵入"0100"" 100""100 "它會被接受,但格式化爲"01:00"
如果將接受用戶類型"01:00",而無需格式。Javascript函數驗證時間00:00與正則表達式

謝謝。

+3

如果用戶鍵入25:78 - 無效的時間? – Amarghosh 2010-01-12 11:24:17

回答

21

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。

+0

我將它固定爲「27:00」無效。 – OcuS 2010-01-12 11:48:28

+0

啊,你打敗了我。 – 2010-01-12 11:56:14

+0

謝謝Ocus,這個功能完成了這項工作。 – Amra 2010-01-12 12:39:26