zoukankan      html  css  js  c++  java
  • js强制限制输入允许两位小数

          <input type="text" value="@item.CostCash.Value.ToString("#0.00")" class="cost" onKeyUp="amount(this)"  onBlur="overFormat(this)" />    
    
          /**
             * 实时动态强制更改用户录入
             * arg1 inputObject
             **/
            function amount(th) {
                var regStrs = [
                    ['^0(\d+)$', '$1'], //禁止录入整数部分两位以上,但首位为0
                    ['[^\d\.]+$', ''], //禁止录入任何非数字和点
                    ['\.(\d?)\.+', '.$1'], //禁止录入两个以上的点
                    ['^(\d+\.\d{2}).+', '$1'] //禁止录入小数点后两位以上
                ];
                for (var 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
             **/
            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;
            }
  • 相关阅读:
    Java基础--(一)hello world
    性能测试--jmeter安装与配置
    性能测试--(四)函数
    性能测试--(三)jmeter参数化
    (一)Monkey使用场景及常用命令
    (二)logcat/trace.txt日志文件的分析
    (一)adb部署及使用
    SOAP UI破解及安装
    性能测试常用指标
    shll 基础讲解
  • 原文地址:https://www.cnblogs.com/LiChen19951127/p/11984560.html
Copyright © 2011-2022 走看看