Усилие ввода заполнения ул - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу отформатировать ввод как XX.X.X пример, когда пользователь вводит 10000 => 10.0.0, и если пользователь вводит только 10, следует добавить .0 формат к 10.0.0, как это можно сделать?

    function format(str) {
      var length = 1,
        separator = ".",
        count = 0,
        result = str.split('').reduceRight((a, c) => {
          if (count === length) {
            a.push(separator);
            count = 1;
          } else count++;
          a.push(c);
          return a;
        }, []).reverse().join('');

        return result;
    }  

    $(document).on("input", "#version", function() {
        this.value = this.value.replace(/\D/g,'');


        this.value = format(this.value);
        console.log(this.value.length);
    });

1 Ответ

0 голосов
/ 27 апреля 2020

Если вы можете использовать плагин jQuery, попробуйте готовое решение inputmask .

$(document).ready(function() {
  $('.mask-version').inputmask("99.9.9");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://rawgit.com/RobinHerbots/Inputmask/5.x/dist/jquery.inputmask.js"></script>

<input type="text" name="version" class="mask-version" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...