zoukankan      html  css  js  c++  java
  • input输入金额时格式化

    input输入金额格式化,限制只能输入数字,可以为负;
    通过onkeyup事件正则表达式 只能输入数字,然后再通过foucs和blur事件来修改金额的样式;
    代码如下:
    <input type="text" id="money" class="yt-input" onkeyup="value=value.replace(/[^d.-]/g,'')" />
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript">
    var myTest = {
      init:function(){
        myTest.events();
      },
      events:function(){
        $("#money").on("focus",function(){
          if($(this).val()!=''){
            //调用还原格式化的方法
            $(this).val(myTest.rmoney($(this).val()));
          }
        });
        $("#money").on("blur",function(){
          if($(this).val()!=""){
            //调用格式化金额方法
            $(this).val(myTest.fmMoney($(this).val()));
          }
        })
      },
      /**
      * 金额格式化处理
      * 金额格式化还原方法
      * @param {Object} 金额的字符串
      */
      rmoney: function(s) {
        //转成string类型
        s = s+"";
        return parseFloat(s.replace(/[^d.-]/g, ""));
      },
      /**
      * 金额格式化处理
      * @param {Object} s 需要处理的字符串
      * @param {Object} n 小数点保留位数
      */
      fmMoney: function(s, n) {
        var lose='';  //负号
        if(s < 0){  //判断是否是负数
          s = (s+'').substring(1);  //截取-号
          lose='-';
        }
        n = n > 0 && n <= 20 ? n : 2;
        s = parseFloat((s + "").replace(/[^d.-]/g, "")).toFixed(n) + "";
        var l = s.split(".")[0].split("").reverse(),
        r = s.split(".")[1];
        t = "";
        for(i = 0; i < l.length; i++) {
          t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
        }
        return lose + '' + t.split("").reverse().join("") + "." + r;  //拼接
       },
    }
    $(function(){
      myTest.init();
    })
    </script>

    获取焦点后:

    失去焦点后:

  • 相关阅读:
    单点登录场景中的CAS协议和OAuth2.0协议对比
    https的URL参数传递中文乱码问题
    Goby
    Burp_suite安装及使用教程(专业版)
    IIS下配置php运行环境。
    iis强制使用https
    IIS-详解IIS中URL重写工具的规则条件(Rule conditions)
    树莓派鼓捣记
    树莓派鼓捣记
    WSL1 升级为 WSL2
  • 原文地址:https://www.cnblogs.com/lingdu87/p/9592731.html
Copyright © 2011-2022 走看看