JSFiddle - React, Tailwind, and code Playground

HTML

<input type="text" class="money-format">

JavaScript

(function ($) {
        // узнать позицию курсора
        $.fn.getCursorPosition = function () {
            var input = this.get(0);
            if (!input) return;
            if ('selectionStart' in input) {
                return input.selectionStart;
            } else if (document.selection) {
                input.focus();
                var sel = document.selection.createRange();
                var selLen = document.selection.createRange().text.length;
                sel.moveStart('character', -input.value.length);
                return sel.text.length - selLen;
            }
        }
        // установить позицию курсора
        $.fn.setCursorPosition = function (pos) {
            if ($(this).get(0).setSelectionRange) {
                $(this).get(0).setSelectionRange(pos, pos);
            } else if ($(this).get(0).createTextRange) {
                var range = $(this).get(0).createTextRange();
                range.collapse(true);
                range.moveEnd('character', pos);
                range.moveStart('character', pos);
                range.select();
            }
        }
        // удалить выделенный текст
        $.fn.delSelected = function () {
            var input = $(this);
            var value = input.val();
            var start = input[0].selectionStart;
            var end = input[0].selectionEnd;
            input.val(
                    value.substr(0, start) + value.substring(end, value.length)
            );
            return end - start;
        };

        $.fn.priceFormat = function () {

            function priceFormatted(element) {
                element = String(element).replace(/[^\d]/g, '');
                if(!element) return '';
                return (String(parseInt(element))).replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
            }

            $(this)
                // Отмена перетаскивания текста и вставки через контекстное меню
                    .bind('contextmenu', function (event) {
        ...