屏蔽文本输入以验证 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/
明确地说,除了基本的输入屏蔽之外,您还需要数据验证。
使用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/
明确地说,除了基本的输入屏蔽之外,您还需要数据验证。