Regex заменяет O нулем (Jquery маска ввода) - PullRequest
0 голосов
/ 26 мая 2020

Я использую отличный плагин Игоря Эскобара 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...