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");