javascript 在3个数字之间添加分隔符,并允许它们之间移动。将光标移到好位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 在3个数字之间添加分隔符,并允许它们之间移动。将光标移到好位置相关的知识,希望对你有一定的参考价值。

function humanizeNumber(id,number) {
        
        //Get the cursor position
        var start = document.getElementById(id).selectionStart;
        var end = document.getElementById(id).selectionEnd;
 
        //Replace the space in number, and add again to the right position
        numberString = number.replace(/\s/g, '');
        value = (String(numberString).replace(/(.)(?=(\d{3})+$)/g,'$1 '));
 
        //If the space were added, it move the cursor position +1
        if(document.getElementById(id).value.length!=value.length)
        {
            start += 1;
            end +=1;
        }
 
        //If the key pressed aren't arrowRight and arrowLeft, write the new value
        var event = window.event ? window.event : e;
        if(event.keyCode!=37 && event.keyCode!=39)
        {
            document.getElementById(id).value = value;
            document.getElementById(id).setSelectionRange(start, end);
        }
    }

以上是关于javascript 在3个数字之间添加分隔符,并允许它们之间移动。将光标移到好位置的主要内容,如果未能解决你的问题,请参考以下文章

javascript 正则(将数字转化为三位分隔的样式)

PHP在数字中添加千位分隔符并保持前导零

JavaScript 选取 min 到 max 之间的 length 个数字并排序

为啥数字格式不正常?

在字母数字字符之间以分号分隔

十进制逗号删除并将逗号添加到javascript中的大数字