zoukankan      html  css  js  c++  java
  • 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+).(dd).*$/,'$1$2.$3');//只能输入两个小数  
    
    借助前辈们的思想改动如下,解决0101和以.开头这种情况
    val = e
                .replace(/[^d.]/g, "")
                .replace(/^0d+|^./g, "")
                .replace(/.{2,}/g, ".")
                .replace(".", "$#$")
                .replace(/./g, "")
                .replace("$#$", ".")
                .replace(/^(d+).(dd).*$/, "$1.$2");
    
    e为数据源,如oninput事件中的e
    注意下"$#$",并不是特殊语法,只是用来替换.后续在替换回来。$1,$2为占位符对应正则中的()里的内容
  • 相关阅读:
    bootstrap
    bootstrap
    IDEA 配置maven
    jQuery
    jQuery
    jQuery
    jQuery
    Jquery
    【k8s】Pod-metadata
    【k8s】terminationMessagePolicy
  • 原文地址:https://www.cnblogs.com/tommymarc/p/12794556.html
Copyright © 2011-2022 走看看