小数点后保留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

相关文章:

  • 2022-01-02
  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-19
  • 2021-06-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-20
  • 2021-05-18
  • 2021-06-20
  • 2022-12-23
相关资源
相似解决方案