jQuery掩码插件翻译设置默认值

jQuery mask plugin translation set default value?

本文关键字:设置 默认值 翻译 插件 掩码 jQuery      更新时间:2023-09-26

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

我已经这样配置了:

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

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

21:00
21.00
21,00
,30

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

如果用户输入2100,我想将其屏蔽为21:00。所以它需要知道默认字符是:
遮罩不知道他需要输入模式中的哪个字符,因此禁止进一步输入。

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

谢谢。

小提琴

我通过添加一个自定义选项来翻译defaults来修改插件。演示。

//getMasked: function
//... lines 298 - 302
else if (translation.defaults) {
    buf[addMethod](translation.defaults);
    m += offset;
    v -= offset;
}    
//...                                                                        
$('#timetrans').mask('99r00', {translation: { 
          'r': { pattern: /[:,''.]/, defaults: ':'}}});

我认为这正是你想要的:

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

猜是史密斯。带有插件版本。我用的是最新的,写的是小提琴

http://jsfiddle.net/t4f5j/

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