Я использую отличный плагин Игоря Эскобара Jquery mask. (https://igorescobar.github.io/jQuery-Mask-Plugin/)
В моем поле ввода я хочу, чтобы если пользователь вводил букву O или o (заглавная или строчная буква «o»), она заменялась на ноль (0).
Используя документацию, у меня есть возможность изменить регулярное выражение с помощью перевода: $('#myfield').mask('ooo-ooo', {'translation': {'o': {pattern: /^[a-zA-Z0-9]*$/}}});
Этот шаблон регулярного выражения допускает любые буквы и цифры c характер, что здорово. Однако мне нужно изменить это регулярное выражение, чтобы «O» и «o» преобразовывались в 0 (ноль).
Возможно ли это исключительно с помощью регулярного выражения (с которым я не очень знаком ), или есть лучшая функция маски Jquery, которую я пропустил в документации, чтобы иметь возможность это сделать?
Это в основном замена двух определенных c символов другим, если они введены. Большое спасибо.
ОБНОВЛЕНИЕ : Благодаря свободе n-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);