屏蔽文本输入以验证 MM/YY jquery-mask-plugin

Mask Text Input to Validate MM/YY jquery-mask-plugin

使用jquery-mask-plugin我想屏蔽一个输入只接受合理的MM/YY

$('#expDate').mask("99/99"); 有效,但它允许 55/66,这是不可接受的月份。

我怎样才能让面具的第一部分是<= 12

仅使用 jquery-mask 插件无法做到这一点。正如您所指出的,它只会屏蔽某些类型的输入,例如数字(通常)、字母、符号等。它不会执行数据验证(这正是您所要求的。

您可以编写一个简单的 jQuery 函数来运行 onblur 等,拒绝无效组合:

$('#expDate').blur(function() {
  let val = $(this).val();
  if (val.indexOf('/') > 0)
    {
      let first = val.split('/')[0]; 
      if (first > 12)  $(this).val('');
    }   
});

或者,您可以使用很棒的 jQuery 验证插件: https://jqueryvalidation.org/

明确地说,除了基本的输入屏蔽之外,您还需要数据验证。