Jquery: изменить значение входного текста при фокусировке - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть поле, как показано ниже

enter image description here

Введенный текст зафиксирован на 11 ди git.

Сейчас, когда фокус Я хочу, чтобы текст ввода был изменен, как показано ниже:

123-456-789-01

как мне добиться этого, используя Jquery

Кто-нибудь может направить меня

1 Ответ

2 голосов
/ 24 апреля 2020

Вы можете использовать регулярное выражение ниже, чтобы отформатировать ваш телефон phone = phone.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1-$2-$3-$4"); и установить maxlength = 11

$('#phone').focusout(function() {

  function phoneFormat() {
    phone = phone.replace(/[^0-9]/g, '');
    phone = phone.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1-$2-$3-$4");
    return phone;
  }
  var phone = $(this).val();
  phone = phoneFormat(phone);
  $(this).val(phone);
});

$('#phone').focusout(function() {

  function phoneFormat() {
    phone = phone.replace(/[^0-9]/g, '');
    phone = phone.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1-$2-$3-$4");
    return phone;
  }
  var phone = $(this).val();
  phone = phoneFormat(phone);
  $(this).val(phone);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="text" value="" id="phone" maxlength="11"  />
...