粘贴数字时自动删除空格2.0

在创建债权人发票时自动删除粘贴的数字中的空格

// ==UserScript==
// @name         粘贴数字时自动删除空格2.0
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  在创建债权人发票时自动删除粘贴的数字中的空格
// @author       YJ
// @match        *://*/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    document.addEventListener('paste', function(event) {
        var paste = (event.clipboardData || window.clipboardData).getData('text');
        // 首先移除所有空格
        var modifiedPaste = paste.replace(/\s+/g, '');

        // 然后检查处理后的文本是否为5到20位的数字
        if (modifiedPaste.length >= 5 && modifiedPaste.length <= 20 && /^\d+$/.test(modifiedPaste)) {
            event.preventDefault(); // 阻止默认的粘贴行为
            // 手动插入处理后的文本到活动的输入元素
            if (document.activeElement.tagName === "INPUT" || document.activeElement.tagName === "TEXTAREA") {
                var start = document.activeElement.selectionStart;
                var end = document.activeElement.selectionEnd;
                document.activeElement.value = document.activeElement.value.substring(0, start)
                                              + modifiedPaste
                                              + document.activeElement.value.substring(end);
                // 更新光标位置
                document.activeElement.setSelectionRange(start + modifiedPaste.length, start + modifiedPaste.length);
            }
        }
    });
})();