jQuery mask插件翻译设置默认值?

时间:2014-07-10 12:31:01

标签: javascript jquery jquery-mask

我正在使用jQuery-Mask-Plugin屏蔽时间输入。

我已经像这样配置了它:

$('#time').mask('99r00', {translation: { 'r': { pattern: /[\.,:]/ }}});

使用此掩码,用户可以输入以下合法时间:

21:00
21.00
21,00
,30

这几乎与我想要的一样,但我想为用户实现一件事:

如果用户输入2100,我想将其屏蔽为21:00。所以它需要知道默认字符是: 掩码不知道他需要在模式中放入哪个字符并禁用进一步输入。

那么如何设置翻译选项的默认字符?

感谢。

fiddle

3 个答案:

答案 0 :(得分:2)

我通过向名为defaults的翻译添加自定义选项来修改插件。 Demo

//getMasked: function
//... lines 298 - 302
else if (translation.defaults) {
    buf[addMethod](translation.defaults);
    m += offset;
    v -= offset;
}    
//...                                                                        

$('#timetrans').mask('99r00', {translation: { 
          'r': { pattern: /[:,\\.]/, defaults: ':'}}});

答案 1 :(得分:0)

我认为这正是你想要的:

$('#time').mask('00:00');

它可以完成您需要的所有替换。

答案 2 :(得分:0)

猜猜,这真是太棒了。与插件版本。我用了最新的并写了小提琴。

http://jsfiddle.net/t4f5j/

$('#timetrans').mask('99D99', {'translation': {D: {pattern: /[\.,:]/}}});