2012-10-26 50 views
3

我正在使用meioMask掩碼用於輸入時間的用戶的文本框,該工作正常。它允許時間可長達23:59允許:或。在meiomask時間掩碼中的符號

$("[id$=txtTime]").setMask("29:59") 
    .keypress(function() { 
     var currentMask = $(this).data('mask').mask; 
     var newMask = $(this).val().match(/^2.*/) ? "23:59" : "29:59"; 
     if (newMask != currentMask) { 
      $(this).setMask(newMask); 
     } 

    }); 

我認爲一些用戶會嘗試進入:符號在日期打字的時候,在使用面膜它不容許符號和用戶可能不希望它進行一旦輸入更多的數字。

我如何允許在面具中使用:.符號?在正則表達式中我很糟糕。

謝謝。

+0

可以搭配一小時取出:。或:用'「(?:2 [0-3] | 1 \ d | 0?\ d)[\ .:] [0-6] \ d」'這是你想要的嗎? –

+0

謝謝,但不完全,我試圖讓meiomask讓我輸入:在文本框 –

+0

您從http://stackoverflow.com/questions/2259843/jquery-masked-edit-for-time複製一些代碼和怎麼辦?你知道你想要什麼嗎?因爲我不明白。試圖澄清... –

回答

0

嘗試修改規則以添加冒號,以便將其識別爲可以編輯的保留項。

$.mask.rules = { 
    'z': /[a-z]/, 
    'Z': /[A-Z]/, 
    'a': /[a-zA-Z]/, 
    '*': /[0-9a-zA-Z]/, 
    '@': /[0-9a-zA-ZçÇáàãéèíìóòõúùü]/, 
    ':': /[:]/ 
}; 

值得一試。我有點瞎了,因爲我還沒有測試過,但它可能只是工作。上述類似

+0

嗨,我無法得到這個工作。謝謝你的幫助 –

-1

添加規則:':': /:/,並從字符串options.fixedChars