2

jQuery-Mask-Pluginを使用して時間入力をマスクしています。

私はそれを次のように構成しました:

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

このマスクを使用すると、ユーザーは次の正当な時間を入力できます。

21:00
21.00
21,00
,30

これはほとんど私が望むように機能しますが、ユーザーのために達成したいことが1つあります。

ユーザーが入力した場合は、2100にマスクし21:00ます。したがって、デフォルトの文字が であることを知る必要があります:
マスクは、パターン内のどの文字をそこに入れる必要があるのか​​ わからないため、それ以上の入力を無効にします.

では、翻訳オプションのデフォルト文字を設定するにはどうすればよいでしょうか?

ありがとう。

フィドル

4

3 に答える 3

3

という翻訳にカスタム オプションを追加して、プラグインを変更しました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: ':'}}});
于 2014-07-14T09:19:42.633 に答える
0

推測すると、それは簡単でした。プラグイン版あり。私は最新のものを使用し、フィドルを書きました。

http://jsfiddle.net/t4f5j/

$('#timetrans').mask('99D99', {'translation': {D: {pattern: /[\.,:]/}}});
于 2014-07-14T09:09:25.477 に答える
0

これはまさにあなたが望むものだと思います:

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

必要なすべての交換を行います。

于 2014-07-14T09:02:35.123 に答える