zoukankan      html  css  js  c++  java
  • 价格录入限定

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>价格录入限定</title>
    <script type="text/javascript">
     
    /**
    * 实时动态强制更改用户录入
    * arg1 inputObject
    **/
    function amount(th){
        var regStrs = [
            ['^0(\d+)$', '$1'], //禁止录入整数部分两位以上,但首位为0
            ['[^\d\.]+$', ''], //禁止录入任何非数字和点
            ['\.(\d?)\.+', '.$1'], //禁止录入两个以上的点
            ['^(\d+\.\d{2}).+', '$1'] //禁止录入小数点后两位以上
        ];
        for(i=0; i<regStrs.length; i++){
            var reg = new RegExp(regStrs[i][0]);
            th.value = th.value.replace(reg, regStrs[i][1]);
        }
    }
     
    /**
    * 录入完成后,输入模式失去焦点后对录入进行判断并强制更改,并对小数点进行0补全
    * arg1 inputObject
    * 这个函数写得很傻,是我很早以前写的了,没有进行优化,但功能十分齐全,你尝试着使用
    * 其实有一种可以更快速的JavaScript内置函数可以提取杂乱数据中的数字:
    * parseFloat('10');
    **/
    function overFormat(th){
        var v = th.value;
        if(v === ''){
            v = '0.00';
        }else if(v === '0'){
            v = '0.00';
        }else if(v === '0.'){
            v = '0.00';
        }else if(/^0+d+.?d*.*$/.test(v)){
            v = v.replace(/^0+(d+.?d*).*$/, '$1');
            v = inp.getRightPriceFormat(v).val;
        }else if(/^0.d$/.test(v)){
            v = v + '0';
        }else if(!/^d+.d{2}$/.test(v)){
            if(/^d+.d{2}.+/.test(v)){
                v = v.replace(/^(d+.d{2}).*$/, '$1');
            }else if(/^d+$/.test(v)){
                v = v + '.00';
            }else if(/^d+.$/.test(v)){
                v = v + '00';
            }else if(/^d+.d$/.test(v)){
                v = v + '0';
            }else if(/^[^d]+d+.?d*$/.test(v)){
                v = v.replace(/^[^d]+(d+.?d*)$/, '$1');
            }else if(/d+/.test(v)){
                v = v.replace(/^[^d]*(d+.?d*).*$/, '$1');
                ty = false;
            }else if(/^0+d+.?d*$/.test(v)){
                v = v.replace(/^0+(d+.?d*)$/, '$1');
                ty = false;
            }else{
                v = '0.00';
            }
        }
        th.value = v; 
    }
    </script>
    </head>
    <body>
    <input type="text" name="price" value="" onKeyUp="amount(this)" onBlur="overFormat(this)" />
    </body>
    </html>
  • 相关阅读:
    spring 09-Spring框架基于QuartZ实现调度任务
    spring 08-Spring框架Resource资源注入
    spring 07-Spring框架Resource读取不同资源
    spring 06-Spring框架基于Annotation的依赖注入配置
    html 默认跳转
    poi 设置样式
    支付宝扫码支付回调验证签名
    构造器初始化
    cxf webservice
    CSS3 border-image 属性
  • 原文地址:https://www.cnblogs.com/Doduo/p/8337295.html
Copyright © 2011-2022 走看看