使用正则表达式后鼠标光标问题?

我使用了以下正则表达式之后,每输入一个数字,鼠标得光标都会自动放到最后,请问如何解决这个问题:让他输入之后鼠标光标跟着新输入的数字,不跑到input最后

function clearNoNum(obj){

            if(obj.value !=''&& obj.value.substr(0,1) == '.'){

                obj.value=0;

            };

            obj.value = obj.value.replace(/^0*(0\.|[1-9])/, '$1');

            obj.value = obj.value.replace(/[^\d.]/g,"");  

            obj.value = obj.value.replace(/\.{2,}/g,"."); 

            obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");

            obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');

            if(obj.value.indexOf(".")< 0 && obj.value !=""){

                if(obj.value.substr(0,1) == '0' && obj.value.length == 2){

                    obj.value= obj.value.substr(1,obj.value.length);

                }

            }

        }

https://img3.mukewang.com/5c2dd4d70001789203130123.jpghttps://img.mukewang.com/5c2dd4e00001c90c02640096.jpg

慕村9548890
浏览 438回答 1
1回答

呼如林

你的值都变了,光标肯定也变了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript