2012-10-19 47 views
3

我想要使用掩碼插件來建立一個表單輸入,它將改變輸入的時間特性以允許用戶輸入數字自由格式的格式,系統將使用jQuery將輸入的數字轉換爲適當的時間顯示。使用jQuery以自由格式的格式輸入數字到掩碼的輸入字段

舉例:用戶輸入「135」,系統將其轉換爲「01:35」

的面具的代碼是:

$("input.time").mask("99:99"); 

到目前爲止,我有下面的代碼:

$(document).ready(function() { 
$('#awareness-hour').blur(function() { 
    if(!$('#awareness-hour').val().match(/([0-1][0-9]|2[0-3]):[0-5][0-9]/)){ 
     alert('invalid');   
    }else{ 
     return true; 
    }; 
}); 
}); 
+0

你只是想零墊的左側時,該輸入條目的長度是3,而不是四個? – cbayram

+0

當然,如果它在24HR格式驗證。 –

+0

我試圖幫助你,但我仍然不明白你想要的是什麼。我不知道你的面具插件,但看着http://digitalbush.com/projects/masked-input-plugin/。所以你說如果用戶輸入13:5_到你的99:99掩碼,你想接受這個爲01:35?如果是這樣,那麼對於這種情況,135或「13:5」,從面具插件中獲得的價值是多少?你想更新輸入嗎?我想更好地理解你正在努力的部分。你有什麼價值你的面具插件做它的事情和什麼 – cbayram

回答

2

這會糾正你提到的場景,並更新輸入,只有當它根據你的第二個邊條是一個有效的時間r表達。我們希望,你的想法和這個作品:

$("input.time").blur(function() {  
    var userInput = $(this).val().replace(/^([0-9])([0-9]):([0-9])_$/, "0$1:$2$3");  
    if(!userInput.match(/([0-1][0-9]|2[0-3]):[0-5][0-9]/)){ 
     alert('invalid');   
    }else{ 
     $(this).val(userInput); 
     return true; 
    }; 
}).mask("99:99"); 
+0

像魅力一樣工作。我欠你一個虛擬啤酒 –

+0

乾杯!很高興知道這個被屏蔽的插件。 – cbayram