Живое форматирование ввода почтового индекса в Великобритании - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь принудительно отформатировать ввод (живой, отсюда и событие keyup) с пробелом перед третьим последним символом почтового индекса Великобритании. У меня есть существующая функция, которая работает с вставленным значением, но не на вводе в реальном времени (при вводе текста, несколько пробелов помещаются). Я просмотрел пару похожих вопросов, но не сталкивался с вопросами, касающимися форматирования ввода по мере его ввода.

jQuery(function($) {
  $("#customerPostcode").keyup(function() {
    const regex = /^(.*)(\d)/g;
    const str = $("#customerPostcode").val();
    const subst = `$1 $2`;
    const result = str.replace(regex, subst);
    $("#customerPostcode").val(result);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="customerPostcode" type="text">

Живой пример здесь: https://jsfiddle.net/graemebryson/Lu3o5zw1/21/

Я добился значительно большего прогресса в этом подходе по сравнению с предыдущими попытками с подстроками, но я не против последней. Любой совет будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...