replace小數點后保留2位


replace小數點后保留2位

 

小數點后保留2位

網上一堆小數點保留2位正則,但大部分都是直接copy,未解決0101和以.開頭的這種情況

網上寫法

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');//只能輸入兩個小數 
借助前輩們的思想改動如下,解決0101和以.開頭這種情況
val = e
            .replace(/[^\d.]/g, "") .replace(/^0\d+|^\./g, "") .replace(/\.{2,}/g, ".") .replace(".", "$#$") .replace(/\./g, "") .replace("$#$", ".") .replace(/^(\d+)\.(\d\d).*$/, "$1.$2"); 
e為數據源,如oninput事件中的e
注意下"$#$",並不是特殊語法,只是用來替換.后續在替換回來。$1,$2為占位符對應正則中的()里的內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM