jQuery 带有可选字符的掩码
jQuery Mask with optional char
我一直在我的应用程序中使用 jquery mask
插件来屏蔽某些字段。它工作正常。我必须屏蔽巴西格式的车牌(3 个字母和 4 个数字,由 -
分隔)并且下面的代码总是工作正常:
$(".car-plate").mask("AAA-0000");
现在,我必须提供新格式,增加一个可选字母,意思是:AAAA-0000
。我必须保持当前格式兼容。有时车牌可以是AAA-0000
,有时是AAAA-0000
。我试过了:
var carMaskBehavior = function (val) {
return val.replace(/\W/g, '').length === 8 ? 'AAAA-AAAA' : 'AAA-AAAA';
},
spOptions = {
onKeyPress: function(val, e, field, options) {
field.mask(carMaskBehavior.apply({}, arguments), options);
}
};
$('#car1').mask(carMaskBehavior, spOptions);
Jsbin: https://jsbin.com/zijayiwoxe/edit?html,js,console,output
我只是尝试字母,但我不知道如何修复它以在用户输入文本以格式化 AAA-9999
或 AAAA-9999
时定义掩码。我该怎么做?
谢谢。
只需即时更改掩码并在末尾允许一个可选字符:
var spOptions = {
onKeyPress: function(val, e, field, options) {
var mask = "";
if (val.length === 8) {
mask = 'AAA-AAAAZ'
} else {
mask = 'AAAA-AAAA'
}
$('#car1').mask(mask, options);
},
translation: {
'Z': {
pattern: /[.]?/,
optional: true
}
}
};
$('#car1').mask('AAA-AAAA', spOptions);
我一直在我的应用程序中使用 jquery mask
插件来屏蔽某些字段。它工作正常。我必须屏蔽巴西格式的车牌(3 个字母和 4 个数字,由 -
分隔)并且下面的代码总是工作正常:
$(".car-plate").mask("AAA-0000");
现在,我必须提供新格式,增加一个可选字母,意思是:AAAA-0000
。我必须保持当前格式兼容。有时车牌可以是AAA-0000
,有时是AAAA-0000
。我试过了:
var carMaskBehavior = function (val) {
return val.replace(/\W/g, '').length === 8 ? 'AAAA-AAAA' : 'AAA-AAAA';
},
spOptions = {
onKeyPress: function(val, e, field, options) {
field.mask(carMaskBehavior.apply({}, arguments), options);
}
};
$('#car1').mask(carMaskBehavior, spOptions);
Jsbin: https://jsbin.com/zijayiwoxe/edit?html,js,console,output
我只是尝试字母,但我不知道如何修复它以在用户输入文本以格式化 AAA-9999
或 AAAA-9999
时定义掩码。我该怎么做?
谢谢。
只需即时更改掩码并在末尾允许一个可选字符:
var spOptions = {
onKeyPress: function(val, e, field, options) {
var mask = "";
if (val.length === 8) {
mask = 'AAA-AAAAZ'
} else {
mask = 'AAAA-AAAA'
}
$('#car1').mask(mask, options);
},
translation: {
'Z': {
pattern: /[.]?/,
optional: true
}
}
};
$('#car1').mask('AAA-AAAA', spOptions);