校验输入框输入两位小数

<script type="text/javascript">    /**       * 实时动态强制更改用户录入       * 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;    }</script>

原文地址:https://www.cnblogs.com/michaelcnblogs/p/12401999.html

时间: 2024-11-19 22:07:50

校验输入框输入两位小数的相关文章

验证输入两位小数

/** * 验证输入两位小数 * * @param 待验证的字符串 * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b> */ public static boolean IsDecimal(String str) { String regex = "^[0-9]+(.[0-9]{2})?$"; return match(regex, str); }

1.(javascript)最多只能输入两位小数

function clearNoNum(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符   obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的 obj.value = obj.value.replace(".","$#$").replace(/\./g,"&

ios TextField限制输入两位小数

只需要实现textField的这个代理方法就可以实现 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSMutableString * futureString = [NSMutableString stringWithString:textField.text]; [futureStrin

【前端开发】限制input输入保留两位小数

<input type="text" name='amount' id="cash_num" placeholder="请输入金额" onkeyup="num(this)" size="9"> js: //限制input输入保留两位小数 function num(obj) { // obj.value = obj.value.replace(/[^\d.]/g, ""); /

js正则匹配两位小数

今天写一个用js正则校验最多保留两位小数的格式. a = /^\d+|\d+\.\d{1,2}$/; 测试 a.test(1.222); 结果:true 一下蒙了,怎么可能,最后找了好久,原来需要把^和$中间的格式包起来 a = /^(\d+|\d+\.\d{1,2})$/; 测试a.test(1.222); 结果:false 分析:如果不用括号包起来,则匹配^\d+或\d+\.\d{1,2} 1.222一下就匹配了^\d,因为只要以数字开头就匹配嘛 最终从网上找到一个更好的匹配两位小数的正则:

20161127 输入两个自然数a、b,求a除以b的结果(保留两位小数)

题目: 输入两个自然数a.b,求a除以b的结果(保留两位小数). 代码: 1 program work20161127; 2 var 3 a,b,c:real; 4 BEGIN 5 readln(a,b); 6 c:=a/b; 7 writeln('c=',c:0:2); 8 END.

显示输入框只能输入2位小数

function checkNum(obj) { obj.value = obj.value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符 obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是. obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的. obj.value =

JS 只能输入数字和两位小数的JS

最近项目压的喘不过气来,所以都基本不来园子了,手头还有好多事,就不扯淡了,直接上内容 JS代码: 1 function clearNoNum(value){ 2 //清除"数字"和"."以外的字符 3 value = value.replace(/[^\d.]/g,""); 4 5 //验证第一个字符是数字而不是 6 value = value.replace(/^\./g,""); 7 8 //只保留第一个. 清除多余的 9

使用replace限定只能输入数字,最多有两位小数

只能输入数字和两位小数. 只能输入一个小数点. 第一位不能为小数点. 第一位不能为0(除了0.XX). number为文本框输入值. var inputVal = number.replace(/[^\d.]/g, "").replace(/\.{2,}/g, ".").replace(".", "$#$").replace(/\./g, "").replace("$#$", "