我正在使用出色的Igor Escobar Jquery mask插件。 (https://igorescobar.github.io/jQuery-Mask-Plugin/)
在输入字段中,我希望这样做,以便用户输入字母O或o(大写或小写字母“ o”)时,它会被替换为零(0)。
使用文档,我可以通过使用翻译来修改正则表达式:
$('#myfield').mask('ooo-ooo', {'translation': {'o': {pattern: /^[a-zA-Z0-9]*$/}}});
此正则表达式模式允许使用任何字母数字字符,这很棒。但是,我需要修改此正则表达式,以便将“ O”和“ o”转换为0(零)。
是否可以仅通过使用正则表达式(我不太熟悉)来做到这一点?还是我在文档中错过了更好的Jquery mask功能来做到这一点?
如果输入的话,基本上是用一个不同的字符替换两个特定的字符。 非常感谢。
更新: 多亏了freedom-m向我指出了回调功能的方向,我使用了一些精巧的JavaScript来完成此工作:
var options = {
// Replace Os with Zeros
onKeyPress: function(cep, options){
var lastChar = cep[cep.length -1];
if (lastChar=="o" || lastChar=="O") {
var newreplace = cep.substring(0, cep.length - 1);
$('#myfield').val(newreplace + '0');
}
}
};
$('#myfield').mask('AAA-AAA', options);